My try for (i) $G = \{a_1,\dots,a_n\}$. If $n$ is even, an odd number of $a_j \ne e$ must have its inverse among the $a_j\ne 0$, then at least one $a_j\ne 0$ must be its own inverse, which contradicts the hypothesis. Thus $n$ must be odd. Thus each $a_j\ne 0$ is multiplied by its inverse in $a_1*a_2*\cdots*a_n$ so it equals $e*e = e$.
But I think something must be wrong with this proof because in (ii), using the hint, we would have that $\mathbb{Z}_p-\{0\} = \{1,\dots, p-1\}$ is a group satisfying the hypothesis in (i) with $n = p-1$ even for most $p$. Also, this won't lead to the answer because we would have $[(p-1)!] = [1]$ which leads to $(p-1)!\equiv_p 1$ and $1$ isn't equivalent to $-1\mod{p}$ for all $p$ prime.
What I'm doing wrong? Thanks in advance!

You're not doing anything wrong. Part (i) doesn't apply directly because $(-1)^2 = 1$ but you can still apply the same ideas. Every element $a$ which is not equal to $1$ or $-1$ has an inverse which is distinct from $a$ (think about why this is). So in evaluating $(p - 1)!$, all the terms cancel except $1$ and $-1$.