Let $\langle X,d\rangle$ be a metric space in which each infinite subset has a limit point. For any $\epsilon>0$ an $\epsilon$-mesh in $X$ is a set $M\subseteq X$ such that $d(x,y)\ge\epsilon$ whenever $x$ and $y$ are distinct points of $M$. Every $\epsilon$-mesh in $X$ is finite, since an infinite $\epsilon$-mesh would be an infinite set with no limit point. Let $\mathscr{M}(\epsilon)$ be the family of all $\epsilon$-meshes in $X$, and consider the partial order $\langle \mathscr{M}(\epsilon),\subseteq\rangle$. This partial order must have a maximal element: if it did not have one, there would be an infinite ascending chain of $\epsilon$-meshes $M_0\subsetneq M_1\subsetneq M_2\subsetneq\dots$, and $\bigcup_n M_n$ would then be an infinite $\epsilon$-mesh. Let $M_\epsilon$ be a maximal $\epsilon$-mesh; I claim that $$X=\bigcup_{x\in M_\epsilon}B(x,\epsilon)\;,$$ where as usual $B(x,\epsilon)$ is the open ball of radius $\epsilon$ centred at $x$. That is, each point of $X$ is within $\epsilon$ of some point of $M_\epsilon$. To see this, suppose that $y\in X\setminus \bigcup\limits_{x\in M_\epsilon}B(x,\epsilon)$. Then $d(y,x)\ge\epsilon$ for every $x\in M_\epsilon$, and $M_\epsilon \cup \{y\}$ is therefore an $\epsilon$-mesh strictly containing $M_\epsilon$, contradicting the maximality of $M_\epsilon$.
Now for each $n\in\mathbb{N}$ let $M_n$ be a maximal $2^{-n}$-mesh, and let $$D=\bigcup_{n\in\mathbb{N}}M_n\;.$$ Each $M_n$ is finite, so $D$ is countable, and you should have no trouble showing that $D$ is dense in $X$.
There are multiple problems with what you’ve written. I’ll leave the ones in A for the end.
It is true that $\{N_\delta(x):x\in K\}$ is an open cover of $K$ and that there is a finite $K_f\subseteq K$ such that $K\subseteq\bigcup_{x\in K_f}N_\delta(x)$. However, all of the sets $N_\delta(x)$ are subsets of $K$, so in fact $\bigcup_{x\in K_f}N_\delta(x)=K$: the set that you called $B$ is simply $K$. Thus, it makes no sense later on to say that $B$ is a countable base for $K$: $B$ is just the set $K$ and is not a base for $K$ at all.
What you have actually shown here is that for each $\delta>0$ there is a finite $K_\delta\subseteq K$ such that for each $x\in K$ there is at least one $y\in K_\delta$ such that $d(y,x)<\delta$. You could now use this directly to get a countable dense subset of $K$, as follows. For $n\in\Bbb Z^+$ let $D_n=K_{1/n}$, and let $D=\bigcup_{n\in\Bbb Z^+}D_n$. $D$ is the union of countably many finite sets, so $D$ is countable.
To show that $D$ is dense in $K$, let $x\in K$ and $\epsilon>0$. There is an $n\in\Bbb Z^+$ such that $\frac1n<\epsilon$, and there is a $y\in D_n$ such that $d(x,y)<\frac1n$, so $y\in D\cap N_\epsilon(x)$. Thus, $x\in\operatorname{cl}D$, and $D$ is dense in $K$.
Thus, you don’t need to show that every space with a countable base is separable, though this is actually very easy. Suppose that $\mathscr{B}$ is a countable base for a space $X$. For each $B\in\mathscr{B}$ let $x_B\in B$, and let $D=\{x_B:B\in\mathscr{B}\}$. Clearly $D$ is countable. If $x\in X$ and $U$ is any open nbhd of $x$, there is a $B\in\mathscr{B}$ such that $x\in B\subseteq U$, so $x_B\in D\cap U$, $x\in\operatorname{cl}D$, and $D$ is dense in $X$.
Showing that every separable metric space has a countable base is actually harder. It looks like you may have been trying to do something like that in the two paragraphs after you took the finite subcover $K_f$, but what you actually have there simply doesn’t make much sense. (E.g., for any $x\in K$ and $\delta>0$ it’s always true that $x\in N_\delta(x)$; this is not something true just for points $x$ in some open set $G$ and does not require any argument at all, since it’s true by definition.)
One way to prove that result is to show that $\left\{B_{1/n}(x):x\in D\text{ and }n\in\Bbb Z^+\right\}$ is a countable base for the topology. You can use a similar idea to prove directly from compactness that $K$ has a countable base, as the author of this question did.
Finally we come to A. It is true that the compactness of $K$ implies that every infinite subset of $K$ has a limit point, but the fact that every infinite subset of the space has a limit point does not by itself imply that the space is separable: there are non-separable spaces in which every infinite subset has a limit point. (The space of countable ordinals is one.) You really do need to use the fact that $K$ is metric to show that it is separable.
Best Answer
First we prove this lemma: given any $\newcommand{\eps}{\epsilon} \newcommand{\ma}{\mathbb} \newcommand{\nf}{\infty} \newcommand{\fa}{\;\forall\;}\eps>0$, there exists some finite collection of points $x_1,x_2,\dots,x_n\in X$ such that the finite collection of open balls $\{B(x_i;\eps)\}_{i=1}^n$ covers $X$. To prove this, we show the contrapositive. We suppose this is not the case, and then show that $X$ has an infinite set with no limit point (this property is called limit point compactness, by the way).
Letting $y_1$ be any point of $X$, $B(y_1;\eps)$ cannot cover $X$ (because otherwise $\{B(y_1;\eps)\}$ would be our desired finite open covering). Now suppose we are given points $y_1,y_2,\dots,y_m$ such that the collection $\{B(y_i;\eps)\}_{i=1}^m$ does not cover $X$. We then set $y_{m+1}$ equal to any point of the nonempty set $X-\cup_{i=1}^m B(y_i;\eps)$. In this way, we have constructed an infinite sequence of points, $\{y_i\}_{i=1}^{\nf}$, such that for any integer $n\in\ma Z^+$, the collection $\{B(y_i;\eps)\}_{i=1}^n$ does not cover $X$. Because of the way we constructed this sequence of $y_i$s, it is clear that for any $j>k$, $y_j$ does not belong to $B(y_k;\eps)$, so $d(y_j,y_k)\geq \eps$. Interchanging the roles of $j$ and $k$, we get that $d(y_j,y_k)\geq \eps, \fa j\neq k$. We now have everything we need to demonstrate a contradiction. I claim that $A=\{y_i\}_{i=1}^{\nf}$ is an infinite set with no limit point. because $d(y_j,y_k)\geq\eps, \fa j\neq k$, $y_j\neq y_k, \fa j\neq k$, so all $y_i$s are distinct, making $A$ infinite. To show that $A$ has no limit point, suppose to the contrary that it does. Call this limit point $z$. As $z$ is a limit point of $A$ and $X$ (being a metric space) is $T_1$, the neighborhood $B(z;\frac{\eps}{2})$ contains infinitely many points of $A$. This means, in particular, that we choose distinct integers, $p$ and $q$, such that $y_p$ and $y_q$ both belong to $B(z;\frac{\eps}{2})$. But this means $d(y_p,y_q)\leq d(y_p,z)+d(z,y_q)<\frac{\eps}{2}+\frac{\eps}{2}=\eps$, a contradiction. It follows that $A$ has no limit point.
Taking the contrapositive of what was just proved, we get the statement of the first paragraph (assuming $X$ is a limit point compact metric space). Now for each positive integer, $n$, let $\{x_{i,n}\}_{i=1}^{m_n}$ be a finite collection of points in $X$ such that $\{B(x_{i,n};\frac{1}{n})\}_{i=1}^{m_n}$ covers $X$. The collection of points $\{x_{i,n}\}_{1\leq i\leq m_n, 1\leq n\leq \nf}$ is clearly countable. I now leave it to you to show that this collection is also dense in $X$.
(a fact that is relevant and interesting here is that the kinds of metric spaces your question is about are exactly the compact metric spaces)