Things along the following lines is often said about infinite tuples in model theory (we are assuming that we are working inside some monster model $M$ of some complete $L$ theory $T$):
If I is a set indexing $(a_{i})$, then the type of $\overset{\rightarrow}{A}$, is the set of all formulas $\varphi({\overset{\rightarrow}{x}})$ such that $M\models\varphi(\overset{\rightarrow}{A})$.
With the expected extension to obtain the definition of the type of $\overset{\rightarrow}{A}$ over $C$.
My question is what sort of formula is this?
One solution I was thinking of is something of the following form:
You think of the formula as a formula of some infinitary language $L\subseteq{L'_{\kappa\lambda}}$, where $\lambda=\max\{|L|,|I|\}$ and $L'$ is obtained by adding new variable symbols. This agrees with the notion that formulas are preserved under isomorphisms. However you have to take care never to use compactness with these types, and I'm not sure what size $\kappa$ should be (or maybe we want to think of the formulas as being $L_{\kappa\omega}$).
Another is:
You introduce new variables but only look at first order formulas (note that they are a new "sort of variable" in that they are distinct from all the variables before). Then you look at usual first order formulas. And $\varphi(\overset{\rightarrow}{A})$ for some formula in the new type is interpreted as, plugin values for $\varphi$ so the indices matchup, and disregard the rest. Now compactness should be applicable. But I'm not sure if the extension throws certain things off.
For example: In the new langauge, the Henkin construction guarantees models of size $\geq{\aleph_{1}}$, because of the size of the language. But there maybe tons of countable models of $T$. This might also be a non-issue, but I don't have a satisfactory way of explaining it so that it is a non-issue (i.e. having new variables doesn't affect the size of the models that could be constructed, and that there is a natural expansion $T\subseteq{T'}$ that makes $T'$ complete).
If $I$ is an index set $a = (a_i : i \in I)$ is a (potentially infinite) tuple, then its (first order) type is $$tp(a) = \{\phi(x_{i_1}, ..., x_{i_n}) : n \in \mathbb N, i_1, ..., i_n \in I \text { and } M \models \phi(a_{i_1}, ..., a_{i_n})\},$$ where $\phi$ ranges over all first order formulas. So $tp(a)$ can use infinitely many variables but contains only first order formulas. When one speaks about $tp(A)$, one assumes it has been indexed in a certain way. The particular indexing is usually not important.
What you describe in your second approach is I think very similar to the above. I am not sure what worries you though. There is no need to extend the language (other than adding variables) and the Henkin construction should work just as well.