Convolution that outputs a unit impulse
This problem is related to deconvolution and equalization. You are basically undoing the effect of a filter by another filter, such that the total system has a flat response, i.e., has a unit impulse as its impulse response.

From $$(h\star g)[n]=\delta[n]\tag{1}$$ it follows that $$H(z)G(z)=1\tag{2}$$ must be satisfied. So the solution to the problem is 
$$G(z)=\frac{1}{H(z)}\tag{3}$$

as you've already found out.

However, the problem with $(3)$ is that the corresponding filter might not be causal and stable. Note that the poles of $G(z)$ are the zeros of $H(z)$, and the pole locations determine whether $G(z)$ is causal and stable. The inverse filter $G(z)$ is stable if all its poles are inside the unit circle. I.e., all zeros of $H(z)$ must be inside the unit circle for the inverse filter $G(z)$ to be causal and stable. Such a filter $H(z)$ with all its zeros inside the unit circle is called minimum-phase.

As a simple example take $h[n]=\delta[n]+\frac12\delta[n-1]$. We have $H(z)=1+\frac12z^{-1}$, and the zero of $H(z)$ is $z_0=-\frac12$. We can conclude that the inverse filter $(3)$ is causal and stable, because its pole is inside the unit circle:

$$G(z)=\frac{1}{1+\frac12z^{-1}}\tag{4}$$

The inverse $\mathcal{Z}$-transform of $G(z)$ is

$$g[n]=\left(-\frac12\right)^nu[n]\tag{5}$$

It's straightforward to show that the sequences $h[n]$ and $g[n]$ indeed satisfy $(1)$.

In practice, we usually assume that an exact inversion $(3)$ is not possible, so we try to approximately invert a given system. And we usually allow a certain delay, so $(1)$ is changed to $$(h\star g)[n]\approx\delta[n-N]\tag{6}$$ with some appropriately chosen $N&gt;0$.

As a final remark, you have to work on your $\mathcal{Z}$-transform skills. Your attempt at inverting $G(z)$ was not successful.