The answer is no, I think. Here is a proof sketch (with one unclear point, for now.) Let $(S_n)_{n\in\omega}$ be a family of ``pairs of socks''; that is, each $S_n$ has 2 elements, the $S_n$ are disjoint, but there is no set which meets infinitely many $S_n$ in exactly one point. Let $S$ be the union of the $S_n$. Let $V$ be a vector space with basis $S$ over the 3-element field. For each $v\in V$, each $s\in S$ let $c_s(v)$ be the $s$-coordinate of $v$. (In your notation: $v(s)$.) Consider the subspace $W$ of all vectors $w$ with the following property: For all $n$, if $S_n = \{a,b\}$, then $c_a(w)+c_b(w)=0$. The set of all $n$ such that for both/any $a\in S_n$ we have $c_a(w) \not=0$ will be called the domain of $w$. Clearly, each domain is finite, and for each finite subset of $\omega$ of size $k$ there are $2^k$ vectors $w\in W$ with this domain. I claim that $W$ has no basis. So assume that $C$ is a basis. Fix any well-order of the finite subsets of $\omega$. Take the first set $D_0$ which appears as the domain of a basis vector. Add all basis vectors with domain $D_0$; the domain of their sum $s_0$ is non-empty and has a least element $n_0$; now $s_0$ chooses one element $x_0 in S_{n_0}$. (Namely, the one with coordinate 1$.) Let $D_1$ be the next set which appears as domain of a basis vector. Continue as above to find $s_1$, and let $n_1$ be the least element in the domain of $s_1$ other than $n_0$, and let $s_1$ choose an element $x_1 in S_{n_1}$. (It may happen that the domain of $s_1$ is the singleton $\{n_0\}$; in this case, $x_1$ is undefined.) Continue by induction, and check that infinitely many $x_k$ will be defined.