The problem is to prove that a metric space $(X,d)$ is separable if and only if it does not contain an uncountable closed discrete subset.
The first thing I want to note is that being closed and discrete is equivalent to not having any limit points, so the problem can be restated as "prove $(X,d)$ is separable if and only if every uncountable subset has a limit point in $X$".
The forward direction is simple enough. Suppose $X$ is separable and let $A$ be a countable dense subset. Assume to the contrary that there does exist an uncountable subset $B$ which has no limit points. Then for each $b\in B$, there exists $\epsilon_b>0$ such that the open ball $B_d(b,\epsilon_b)$ is disjoint from $B\setminus\{b\}$. Then the collection of open balls $\mathcal{A}=\{B_d(b,\epsilon_b/2):b\in B\}$ is an uncountable collection of pairwise disjoint open sets. Since $A$ is countable and $\mathcal{A}$ is not, $A$ cannot intersect every open ball in $\mathcal{A}$, so there must exist $b\in B$ such that $B_d(b,\epsilon_b/2)$ is disjoint from $A$ contradicting the fact that $A$ is dense in $X$.
It's the other direction that's giving me trouble. Suppose that every uncountable subset of $X$ has a limit point in $X$. I need to construct a countable dense subset (or use a nonconstructive existence proof method such as Zorn's Lemma). I have tried coming up with ways of constructing such a countable dense subset, I have tried proving the contrapositive (which is also an existence proof), I have tried using Zorn's Lemma, but nothing I have tried worked. Does anyone have hints or ideas?
I gave a comprehensive answer here where this is generalised to all cardinals, not just $\aleph_0$.
If you follow the reasoning there, then I first show that the fact that all closed and discrete sets are at most countable implies that all discrete sets are at most countable (in a metric space, or more generally a perfectly normal space). This in turns implies that all families of non-empty pairwise disjoint open sets is at most countable and then a simple Zorn argument gives us a countable dense subset.
In detail that would amount to:
Suppose that $(X,d)$ has the property that every uncountable subset $A$ of $X$ has a limit point in $X$.
Then, fix $r>0$. Define the poset $\mathscr{P}_r$ of all subsets $A$ of $X$ such that
$$\forall x,y \in A: x \neq y \implies d(x,y) \ge r$$
ordered by inclusion. Then this poset, quite standardly, satisfies the condition of Zorn's lemma: let $\mathcal{A}$ be a chain in this poset. Then $A:=\bigcup \mathcal{A}$ is also in this poset, and is an upperbound for $\mathcal{A}$. The last part is obvious, and for the first we have to take two distinct elements $a_0, a_1 \in \bigcup \mathcal{A}$. So there are $A_0, A_1 \in \mathcal{A}$ such that $a_0 \in A_0, a_1 \in A_1$ (def. of union) and as $\mathcal{A}$ is a chain, $A_0$ and $A_1$ are comparable in the inclusion order, so $A_0 \subseteq A_1$ or $A_1 \subseteq A_0$. Whatever be the case, there is one $A_i \in \mathcal{A}$ such that $a_0, a_1 \in A_i$ and so we know (as $A_i$ is in our poset) that $d(a_0,a_1) \ge r$, as required. So $A$ is in $\mathscr{P}_r$. Now we can apply Zorn's lemma and conclude that there is a maximal element $M(r)\subseteq X$ in our poset.
Now if $x \notin M(r)$ then we know by maximality that $M(r) \cup \{x\}$ cannot be in $\mathscr{P}_r$, so it cannot obey the $r$-distance property, and so there are two points in $M(r) \cup \{x\}$ that are distance $< r$ apart, and these cannot both be from $M(r) \in \mathscr{P}_r$, so one of must be $x$:
$$ \forall x \notin M(r): \exists y \in M(r): d(x,y) < r$$
i.e. we have found a very dense family of points that are at least $r$ apart. In fact this fact holds for all $x \in X$, we just take $x$ itself if needed.
Another fact: $M(r)$ does not have a limit point. If it did, say $p$ were a limit point, then $B(p, \frac{r}{2})$ would intersect at least two (in fact infinitely many) points of $M(r)$, say $x_1,x_2$ but then $d(x_1,x_2) \le d(x_1,p) + d(p,x_2) <r$ contradicts our $r$-distance property. So no limit point can exist. So it follows that $M(r)$ is countable for each $r>0$ and then we note that the maximality property gives us that $$D = \bigcup_{n=1}^\infty M(\frac{1}{n})$$ is countable (as a countable union of countable sets) and dense: for every $x$ and every $n$ there is some $y \in D$ with $d(x,y) < \frac1n$.