(for every formula/funciton $P$, I denote $n_P$ as the number of variable it takes, and if $G$ is a function, $G[\cdot]$ is the image)
Let ${\cal A}$ be infinite model of some countable theory.
Let $B_0\subseteq A$ be countable, let $F$ be the set of function symbols, now for each $φ$ formula define $f_φ$ such that:
If $\bar x\in A^{n_φ-1}$ such that $∃y(φ(y,\bar x))$ we have $φ(f_φ(\bar x), \bar x)$, otherwise $f_φ(\bar x)$ is some arbitrary element of $A$(we need AC to prove such $f$ exists.)
Then let $B_{k+1}=B_k\cup\bigcup_\limits{f\in F}f[B_k^{n_f}]∪\bigcup_\limits{φ\text{ formula}}f_φ[B_k^{n_φ}]$ and $B=\bigcup B_k$(this is the closure of all of the function symbols and the functions we defined), because the theory is countable, and there are only countable formulas, $B$ is countable.
Now use Tarski–Vaught test to show that $B$ with the same interpretation as $\cal A$ is elementary substructure
(1) Let me first correct something. You wrote:
By Fraisse Theorem, any Fraisse class has a generec model $\mathcal{M}_{\mathcal{C}}$ such that it is homogeneous and its theory is $\omega$-categorical.
This is not quite true - your definition of Fraïssé class is too general to prove this theorem. Suppose $\mathcal{C}$ is a class of finite $\mathcal{L}$-structures with HP, JEP, and AP. Then:
In order for a countable Fraïssé limit to exist, you also need to assume that $\mathcal{C}$ is countable up to isomorphism. So I would also include this condition in the definition of Fraïssé class. (This condition is automatically satisfied if the language $\mathcal{L}$ is finite.)
Under the conditions above, it's true that $\mathcal{C}$ has a countable Fraïssé limit $\mathcal{M}_{\mathcal{C}}$, which is unique up to isomorphism. But you can't prove that its complete theory $\text{Th}(\mathcal{M}_{\mathcal{C}})$ is $\omega$-categorical without additionally assuming one more thing abut $\mathcal{C}$: for every natural number $n$, there are only finitely many structures in $\mathcal{C}$ up to isomorphism that admit a generating set of size $n$. (This condition is automatically satisfied if the language $\mathcal{L}$ is finite and relational - no function or constant symbols. So Fraïssé's theorem is often stated in the special case of finite relational languages. It is also satisfied if $\mathcal{L}$ is finite and $\mathcal{C}$ is uniformly locally finite, meaning that for any natural number $n$, there is a bound $f(n)$ such that any structure in $\mathcal{C}$ which admits a generating set of size $n$ has size at most $f(n)$. This applies, for example, to the class of vector spaces over a fixed finite field $\mathbb{F}_q$: a structure generated by $n$ elements has size at most $f(n) = q^n$.)
Now whenever $\text{Th}(\mathcal{M}_{\mathcal{C}})$ exists and is $\omega$-categorical, this theory also eliminates quantifiers (I gave a proof in my answer here). For example, in the book by Hodges, he proves that if $\mathcal{C}$ is a uniformly locally finite Fraïssé class in a finite language, then $\text{Th}(\mathcal{M}_{\mathcal{C}})$ is $\omega$-categorical and eliminates quantifiers.
On the other hand, there are Fraïssé classes with Fraïssé limits whose theories are not $\omega$-categorical and do not eliminate quantifiers. For examples in an infinite relational language and in a finite language with function symbols, see my answer here (the Fraïssé classes are the classes of finite substructures of the ultrahomogeneous structures described in my answer).
(2) Another possible misconception to correct: If $\mathcal{C}$ is a Fraïssé class, the statements "$\mathcal{C}$ has quantifier elimination" and "$\text{Th}(\mathcal{M}_\mathcal{C})$ has quantifier elimination" are totally different. It is extremely unusual for a class of finite structures to have quantifier elimination. So I don't really see the connection between questions (1) and (2). You probably should have asked them as separate questions.
If you're interested in a class $\mathcal{C}$ of $\mathcal{L}$-structures which is not the class of models of some first-order theory $T$, then proving quantifier elimination is not going to be easy! The main tool for understanding formulas up to equivalence is the compactness theorem, and for an arbitrary class $\mathcal{C}$, the compactness theorem doesn't apply. I think the best approach would be to try to use Ehrenfeucht-Fraïssé games.
(3) This question honestly mystifies me. Of course you'll have to use specific features of a theory to prove it has quantifier elimination!
There are many general tests for quantifier elimination, most of which are stated as equivalences ($T$ eliminates quantifiers if and only if ...), so if you're given a theory $T$ with quantifier elimination, you can in principle use any of these tests to verify it. Now of course for any given theory, some tests will be easier to apply to it than others. So you'll see many different approaches to proving quantifier elimination applied to different theories in the literature and in textbooks. But if anything, it's good to have lots of different approaches you can pick from!
Best Answer
The proof of this has two main components:
Putting these two components together, we can prove that ACVF is NIP by checking that no formula in one object variable has the independence property, which follows from the classification of such formulas given by quantifier elimination. More abstractly, every C-minimal theory is NIP.
I suspect the reason why it's tricky to track down a complete reference for this theorem is that components 1 and 2 were both well-known (without the language of C-minimality) before anyone asked the question "is ACVF NIP?". Since that question can be answered fairly easily by putting together the two well-known results, the answer became folklore. Most sources just assert it, giving references to 1 and 2 and leaving the verification as an exercise to the reader.
One place where there is a complete proof is the paper On variants of o-minimality by Macpherson and Steinhorn, where the notion of C-minimality was first introduced. Proposition 3.4 of that paper says that C-minimal structures are NIP, and Theorem 4.11 says that ACVF is C-minimal (with a reference to another source for the necessary quantifier elimination result).