is "$a^0 = 1$" a definition or there exists a proof? I'm interested in knowing whether $a^0 = 1$ ('$a$' not zero) is a definition.
If not, can anyone please help me with proving this?
It's a definition. A convenient definition. 

We know from our early encounter with mathematics that $a^m\times a^n=a^{m+n}$ if $m,n\in \mathbb{N}$ (not including zero) because it's very natural: "Multiplying $m$ times and multiplying $n$ times, and then multiplying those values should be the same as multiplying $m+n$ times". 

What if $m$ or $n$ is $0$? We'd like that formula to still be true, i.e. we'd like 

$$a^0\times a^n = a^{0+n}=a^n$$

However, the only number that satisfies this is $1$ so it's necessary to define $a^0:=1$ in order to keep this property.

This is exactly the same reason why we define

$$a^n:=\frac{1}{a^{-n}}$$

if $n$ is a negative integer, because we want laws as 

$$\frac{a^m}{a^n}=a^{m-n}$$

to hold even if $m$ is not greater than $n$.
$${a^b\over a^c} = a^{b-c} $$and vice versa.     {Index rule}

Therefore,  $$a^0 = a^{x-x}$$ for any x

$$= {a^x\over a^x}   ,$$ using the aforementioned index rule.

$$= 1 $${since any thing divided by itself is 1 except 0)