Iterating limit points ad infinitum to obtain $\{0\}$ Let $X\subseteq\mathbb{R}$. We define $D(X):=\left\{x\mid x\in \mathbb{R}\mid \forall n\in\mathbb{N}\;\exists y\in X\left[0<|x-y|<\frac1{2^n}\right]\right\}$, i.e. the set of limit points of $X$. 
We can iterate $D$ by: $D^{(2)}(X):= D(D(X)), \ldots$. We can then also obtain $$D^{(\omega)}:=\bigcap_{n\in\mathbb N} D^{(n)}(X).$$
I am now looking for a set $X$ such that $D^{(\omega)}(X)=\{0\}$. Let us first consider the case $D(X)=\{0\}$. This can be done by taking $X_1=\left\{\frac1{2^n}\mid n\in\mathbb{N}\right\}$. 
The case $D^{(2)}(X_1)=\{0\}$ can then be solved by $X_2=\left\{\frac1{2^n}+\frac1{2^m}\mid n,m\in\mathbb{N}\right\}$. Here $D(X_2)=X_1$ and therefore $D^{(2)}(X_2)=\{0\}$.
Now back to $D^{(\omega)}(X)$. One could imagine to take the limit case $X_\infty:=\bigcup\limits_{n\in\mathbb{N}} X_n$, where $X_n =\left\{\frac1{2^{k_0}}+\ldots+\frac1{2^{k_{n-1}}}\mid k_0,\ldots,k_{n-1}\in\mathbb{N}\right\}$. This will however not solve anything, since $X_\infty=\left\{\frac n{2^m}\mid n,m\in\mathbb{N}\text{ and } n\leq2^m\right\}$, of which we can easily see that $D(X_\infty)=X_\infty$. What would be the right approach to find a suitable $X$?

We can solve this by looking at your $X_1 = \{ \frac{1}{2^n} | n \in \mathbb{N} \}$. For every element $\frac{1}{2^n}$ in $X_1$ we can find some $\epsilon_n$ such that $[\frac{1}{2^n}, \frac{1}{2^n} + \epsilon_n] \cap X_1 = \frac{1}{2^n}$. We can then map $[0,1] \to [\frac{1}{2^n}, \frac{1}{2^n} + \epsilon_n]$ bijectively and take the image of $X_1$ as $X_{2_n}$. Now take the union over all $n$ as $X_2$. Repeat ad infinitum.
