I can't get satisfied with such 'so on' type logic. Is there a better way to solve it? 
Let $x$ be a cluster point of a subset $A$ of the metric space $X.$ Then there exists a sequence $\{x_n\}\subset A$ of distinct elements such that $x_n\to x.$

Well! For this problem I can see the elements of the required sequence: $(B(x,1)-x)\cap A$ is nonempty. Choose a point from it and call it $x_1.$ Next choose a point from 
$$\left(B\left(x,\min\left\{d(x,x_1),\dfrac{1}{2}\right\}\right)-x\right)\cap A$$ and call it $x_2.$ 
...and so on...
But I can't get satisfied with such 'so on' type logic since its not very rigorous and compact. Is there a better way to do it?
 A: Probably the simplest construction is just to choose $x_k\in B(x,2^{-k})\setminus\{x\}$ arbitrarily for each $n\in\Bbb N$; this is enough to ensure that $\langle x_k:k\in\Bbb N\rangle$ converges to $x$. It uses at most the axiom of countable choice.
Note that it’s not necessary to choose the points $x_k$ so that $\langle d(x_k,x):k\in\Bbb N\rangle$ is a decreasing sequence; all that’s necessary is to ensure that it converges to $0$.
Added: Note that the construction ensures that $\{x_k:k\in\Bbb N\}$ is infinite, though the terms may not all be distinct. If you require a sequence of distinct terms, let $n_0=0$, and for $k>0$ let $$n_k=\min\big\{m\in\Bbb N:x_m\notin\{x_{n_\ell}:\ell<k\}\big\}\;;$$ then $\langle x_{n_k}:k\in\Bbb N\rangle$ is a sequence of distinct terms converging to $x$. This requires no further application of choice.
A: The "...and so on..." can be made precise. They're defining a recursive construction and the author is hoping you understood what it is without further detail. Did you? If then, can you define it recursively, that is, make it explicit? If so, I wouldn't worry any further!
ADD If you're worried about the choice part of the proof then Brian's answer has covered that thoroughly, but you haven't really made clear what is worrying you.
A: That seems more complicated than necessary. Define $x_0$ from $A\setminus\{0\}$ arbitrarily, then, given $x_i$, find $x_{i+1}\in A\setminus\{x\}$ such that $d(x,x_{i+1})<\frac{1}{2}d(x,x_i)$. This is all you need to define a sequence. (I find the use of $\min$ in the above irritating, somehow. We can avoid it.)
As Andre noted, there is some question of "how much" you are using the axiom of choice.
A: There is a better way: take the existence of a sequence converging to $x$ as the definition of cluster point (also called accumulation point, or limit point). 
Proving that the neighborhood definition of cluster point is satisfied if the sequence exists, does not use any choice principle.   This is evidence that the sequence-based definition is in some ways more correct, and the difference would manifest itself if one were writing computer implementations of metric space analysis and topology.
The distinctness requirement on the sequence is unnecessary.
