Your proof is good, but it can be made more elegant. This is a matter of experience... keep practising!
Let G be {e,a,b,c} Let's assume G is not abelian.
This means there exist a,b such that ab≠ba.
It's strange to say "there exist $a,b$" when $a$ and $b$ are already explicit objects. Better wording would be, "there exist two elements, say $a$ and $b$, that do not commute." Alternatively, "without loss of generality, assume $ab \neq ba$."
We can choose 2 elements a, b who are not inverse to each other.
Again it is strange to be "choosing" $a$ and $b$ at this point since we are already working with them. Better: "Note that $a$ and $b$ are not inverses of each other, for then $ab=ba=e$."
We know that (ab≠b ^ ab≠e ^ ab≠a)-> ab=c;
You could write this more smoothly thus: "Since $ab \notin \{a,b,e\}$, it follows that $ab = c$."
... we also know that (ba≠b ^ ba≠e ^ ba≠a ^ ab≠ba) -> ba=d which is a contradiction to our assumption that G had 4 elements.
I understand what you mean here, but what exactly is $d$? If you really want to keep this $d$, it would be clearer to write, "$ba = d$ for some $d \notin G$, contradicting the closure of $G$". But this is more complex than necessary; avoid introducing new objects if you can. Instead, just appeal to symmetry: "By the same reasoning, we also have $ba = c$. But then $ab = ba$, a contradiction."
The revised proof:
Let $G = \{e,a,b,c\}$. Let's assume $G$ is not abelian; without loss of generality, assume $ab \neq ba$. Note that $a$ and $b$ are not inverses of each other, for then $ab = ba = e$.
Since $ab \notin \{a,b,e\}$, it follows that $ab=c$. By the same reasoning, $ba=c$. But then $ab=ba$, a contradiction.