Corrected and Revised version: In the original I inadvertently used the same symbol for two different things, and along with fixing that I’ve simplified the last part a little.

Let me expand the argument a bit. Start with any point $x\in A$. $F$ covers $A$, so there is at least one set $S\in F$ such that $x\in S$; pick any one of those sets, and call it $S_x$. (Note that we don’t care how many members of $F$ contain $x$: all that matters is that there is at least one.) Let

$$G_x=\{k\in\Bbb Z^+:x\in A_k\subseteq S_x\}\;;$$

$G$ is a base for the topology of $\Bbb R^n$, so there is at least one $A_k\in G$ such that $x\in A_k\subseteq S_x$, and therefore $G_x\ne\varnothing$. To be definite about the matter, let $m(x)=\min G_x$, the smallest member of $G_x$. (We could simply pick any member of $G_x$ to be $m(x)$, but this is a simple way to pick one: $G_x$ is a non-empty set of positive integers, and such a set always has a smallest element.) At this point we have $A_{m(x)}\in G$ and $S_x\in F$ such that $x\in A_{m(x)}\subseteq S_x$. We can do this for each $x\in A$.

Let $M=\{m(x):x\in A\}$; $M$ is the set of positive integers that are $m(x)$ for at least one point $x\in A$. Clearly $M$ is countable, since it’s a subset of $\Bbb Z^+$. For each $k\in M$ let $$B_k=\{x\in A:m(x)=k\}\;.$$ Each $B_k$ with $k\in M$ is non-empty, and each point of $A$ belongs to exactly one of the sets $B_k$ with $k\in M$; specifically, if $x\in A$, then $B_{m(x)}$ is the unique $B_k$ containing $x$. For each $k\in M$ pick any one point of $B_k$ and call it $x_k$; note that $m(x_k)=k$ by the definition of $B_k$, so that $x_k\in A_k$. (Again it doesn’t matter how many members $A_k$ has, as long as it has at least one for us to choose.) In fact, $x_k\in A_k\subseteq S_{x_k}$.

Let $F_0=\{S_{x_k}:k\in M\}$; clearly $F_0$ is a countable subfamily of $F$, and I’ll show that this family covers $A$.

Let $y$ be any point of $A$. Then $y\in A_{m(y)}$. For convenience let $n=m(y)$; certainly $n\in M$. Then $$y\in A_n\subseteq S_{x_n}\in F_0;,$$ and $F_0$ covers the point $y$. Since $y$ was an arbitrary point of $A$, we’re done: $F_0$ is a countable subfamily of $F$ that covers $A$. $\dashv$


I tried to address your questions (b) and (c) with the parenthetical remarks in the proof. To address (a) I expanded the argument by giving details of one way to ‘correlate to each set $A_{m(x)}$ one of the set $S$ of $F$ which contained $A_{m(x)}$’. (I changed your $k(x)$ to $m(x)$, since that’s what matches the notation in the rest of your question.) Specifically, each $A_{m(x)}$ is an $A_k$ for some $k\in M$, and I chose $S_{x_k}\in F$ so that $A_k\subseteq S_{x_k}$; this $S_{x_k}$ is then the member of $F$ that I’ve correlated to $A_{m(x)}$. It will in fact be correlated to $A_{m(x)}$ for every $x\in A_k$.