Proof verification: $b_k$ is a limit point of $a_n$, $c$ is a limit point of $b_k$, then $c$ is limit point of $a_n$. I would be thankful if somebody could check my proof. Also suggestions improving the notations are highly welcome. 
We have two sequences $(a_n)_{n \ge 0},(b_k)_{k \ge 0}$. For each $k \in \mathbb N_0$ $b_k$ is a limit point of $(a_n)_{n \ge 0}$ and $c$ is a limit point of $(b_k)_{k \ge 0}$. We need to show that $c$ is a limit point of $(a_n)_{n \ge 0}$.
Proof
If $c$ is a limit point of $(b_k)_{k \ge 0}$, then there must be a sub-sequence $(b_{k_\ell})_{\ell > 0}$ such that $b_{k_\ell} \to c$. 
Now we construct a sub-sequence $(a_{n_\ell})_{\ell > 0}$ as follows:


*

*$\ell=1$: because $b_{k_1}$ is a limit point of $(a_n)_{n \ge 0}$, there must be a sub-sequence $(a_{n_q})_{q > 0}\to b_{k_1}$, and there must be $q^*$ such that $a_{n_{q^*}} \in (b_{k_1}-1,b_{k_1}+1)$, we set $n_\ell=n_{q^*}$.

*$\ell>1$: and for all preceding indices elements of the sub-sequence are chosen, because $b_{k_\ell}$ is a limit point of $(a_n)_{n \ge 0}$, there must be a sub-sequence $(a_{n_q})_{q > 0}\to b_{k_\ell}$, and there must be $q^*$ such that $a_{n_{q^*}} \in (b_{k_1}-\frac{1}{\ell},b_{k_1}+\frac{1}{\ell})$ and $n_{q^*} > n_{\ell-1}$, we set $n_\ell=n_{q^*}$.      
Now we show that $(a_{n_\ell})_{\ell>0}\to c$. 
We take $\epsilon>0$, then $\exists L_1 : \forall \ell \ge L_1, \lvert c-b_{k_\ell}\rvert<\epsilon / 2$. Also $\exists L_2 : \forall \ell \ge L_2, \frac{1}{\ell}<\epsilon / 2$. 
Now $\forall \ell \ge \max(L_1,L_2)$: 
$$\lvert a_{n_\ell}-c\rvert \le \lvert a_{n_l}-b_{k_\ell}\rvert + \lvert b_{k_\ell}-c\rvert < \frac{1}{\ell} + \frac{\epsilon}{2} < \epsilon.$$
So $c$ is a limit point of $(a_n)_{n \ge 0}$.   
 A: Your proof looks correct, but cumbersome. Specifically, you "mix" $\varepsilon$-based arguments and more high-level sequential ones. While this is sometimes necessary, one of the main point of doing the second is to avoid to resort to the "low-level $\varepsilon$ stuff."
I have the feeling that the subsequence definition here is not the simplest ways, and makes things more conceptually difficult. For the sake of an alternative proof, and because sometimes $(\varepsilon,\delta)$-type proofs are easier, I am giving below an argument of the latter kind.
We need to show that
$$
\forall \varepsilon > 0, \forall N \geq 0, \exists n_{\varepsilon,N} \geq N \text{ s.t. } \lvert a_{n_{\varepsilon,N}} - c \rvert \leq \varepsilon \tag{$\dagger$}
$$
Fix any $\varepsilon > 0$, and $N\geq 0$. 


*

*Since $c$ is a limit point for $(b_n)_n$, there exists (for $\varepsilon' \stackrel{\rm def}{=} \frac{\varepsilon}{2}$ and $N$) some $m_{\varepsilon',N}\geq N$ such that $\lvert b_{m_{\varepsilon',N}} - c \rvert \leq \varepsilon'$.

*Since $b_{m_{\varepsilon',N}}$ is a limit point for $(a_n)_n$, there exists (for $\varepsilon' \stackrel{\rm def}{=} \frac{\varepsilon}{2}$ and $N'=m_{\varepsilon',N}$) some $r_{\varepsilon',N'}\geq N'$ such that $\lvert a_{r_{\varepsilon',N'}} - b_{m_{\varepsilon',N}} \rvert \leq \varepsilon'$.
By the triangle inequality, combining the two,
$$
\lvert a_{r_{\varepsilon',N'}} - c \rvert \leq \lvert a_{r_{\varepsilon',N'}} - b_{m_{\varepsilon',N}} \rvert+\lvert b_{m_{\varepsilon',N}} - c \rvert \leq \varepsilon'+\varepsilon' = \varepsilon
$$
and $r_{\varepsilon',N'} \geq N' = m_{\varepsilon',N} \geq N$. Taking $n_{\varepsilon,N} \stackrel{\rm def}{=} r_{\varepsilon',N'}$ concludes the proof.
