That first question is more about number theory than about formal languages and automata: $n!$ is never a perfect square if $n\ge 2$, so $L=\{\varepsilon,a\}$, which is even a regular language.
Added: J.-E. Pin has pointed out that the original pure text version, which I’d not seen, is ambiguous, and that the OP may well have intended $L$ to be the set $a^n$ such that $n$ is not the perfect square of any non-negative integer. If that’s the case, then of course the above answer is irrelevant, and it turns out that $L$ is not context-free.
One way to prove this is to apply Parikh’s theorem, which implies that a language over a one-letter alphabet is context-free if and only if it is regular. It is easy to use the pumping lemma for regular languages to show that $L$ is not regular. (It is perhaps even easier to use the pumping lemma for regular languages to show that $\{a\}^*\setminus L=\left\{a^{k^2}:k\ge 0\right\}$ is not regular and then use the fact that regular languages are closed under complementation.)
For the second question I think that you may assume that $\Sigma$ is the alphabet for both languages; $\operatorname{AddLetter}(L)$ is simply the set of words over $\Sigma$ that can be decomposed as $uxv$, where $u$ and $v$ are in $L$, and $x$ is any single character in the alphabet $\Sigma$. If $S$ is the initial non-terminal of $G$, give $G'$ a new initial symbol $S'$; then for each $x\in\Sigma$ the grammar $G'$ will have a production $S'\to \_x\_$, where I’ll leave it to you to fill in the two blanks.
\midrather than|. Curly braces are formatting symbols for MathJax; to get them to display, use\{and\}. – Brian M. Scott Jul 21 '20 at 20:27