$X$ is an $n \times m$ matrix, where $n \geq m$ and $\mbox{rank}(X) = m$.
Is it possible for $X^TX$ to not be full rank?
If $X$ can only be square I could easily prove this with $$ \det(X^TX) = \det(X^T)\det(X) = \det(X)^2 > 0 $$
$X$ is an $n \times m$ matrix, where $n \geq m$ and $\mbox{rank}(X) = m$.
Is it possible for $X^TX$ to not be full rank?
If $X$ can only be square I could easily prove this with $$ \det(X^TX) = \det(X^T)\det(X) = \det(X)^2 > 0 $$
If you are talking about a real matrix $X$, no.
If $X^TXv=0$, then $\|Xv\|_2^2=v^TX^TXv=0$ and hence $Xv=0$. Since $X$ has full column rank, $v$ must be zero. Thus $X^TX$ is nonsingular and it has full rank.
No, it is not possible as long as $X$ is a real matrix. Because, we have: $$rank(X^\top X) = rank(X).$$ Hence, $rank(X^\top X) = m$ too. Since $X^\top X$ is $m\times m$, it must be of full rank.
How to show that $rank(X^\top X) = rank(X)?$ Show that their null spaces are same. Of course, $null(X) \subseteq null(X^\top X)$. For the reverse direction, note that if $X^\top X v = 0$, then $v^\top X^\top X v = 0$, and hence, $\|Xv\|^2 = 0$, hence $Xv = 0$ (here you use the fact that the entries of $X$ are real).
Counterexample for complex matrices: Let $X$ be a $2\times 2$ matrix, with $X_{1,1}=i$, $X_{1,2}=X_{2,1} = 1$ and $X_{2,2}=-i$, where $i$ is the root of $-1$. Then, $X$ has rank $1$ (why?) but $X^\top X$ has rank $0$.