1) As you correctly conjecture, you cannot in general extract a basis from a generating set of a free module. For example the set $\{2,3\}$ is a generating set for the free $\mathbb Z$-module $\mathbb Z $, and that set contains no basis.
2) Fact: If a finitely generated projective $R$-module $P$ has generators $u_i (i\in I)$ , maybe in infinite number , then locally at any $\mathfrak p \in Spec(R)\; $ a basis can be extracted.
Proof: Wise use of Nakayama will give an exact sequence of $R$-modules.
$ 0\to K\to R^n \stackrel {u}{\to} P \to C\to 0 \quad (\ast) $
where $u$ is obtained from some of the given generators: $u(r_1,...,r_n)=\Sigma r_iu_i$ and where $C_{\mathfrak p}=K_{\mathfrak p}=0$. [Wiseness means extracting generators $u_1,...,u_n$ that give a basis of the $\kappa (\mathfrak p)$- vector space$P\otimes_R \kappa (\mathfrak p)]$
Since the cokernel $C$ is a finitely generated $R$-module it will be zero in some neighbourhood $D(r)$ of $\mathfrak p$. So we get the exact sequence on $D(r) \;$:
$ 0\to K_r\to R_r^n \stackrel {u_r}{\to} P _r\to 0 \quad (\ast \ast) $ with $(K_r)_{\mathfrak p}=K_{\mathfrak p}=0$.
To apply the same trick to $K_r$ as we applied to $C$ we must know that $K_r$ is finitely generated. But this is the case since $P$ is finitely generated projective, hence finitely presented. So finally we have locally on some open neighbourhoof $D(s)$ of $\mathfrak p$
$ 0\to R_s^n \stackrel {u_s}{\to} P _s\to 0 \quad (\ast \ast \ast) $
In other words $u_1,...,u_n$ is a basis of $P_s$ over $R_s$.