(a) "What is the difference between the electrostatic potential energy of a charge immersed in an electrostatic field and the potential energy between two charges?"
They are essentially the same, assuming that the field arises from one other charge. It's quite useful, by the way, to call this other charge "the source charge", and the charge that is immersed in the source charge's field, the "test charge". This is, though, an artificial distinction; the potential energy "belongs to" both charges, though we sometimes loosely speak of "the test charge's potential energy" (in the same way that we talk of the increase of our gravitational potential energy when we climb a mountain).
(b) Nature doesn't tell us the separation of charged bodies at which the potential energy is zero. It is an arbitrary choice. It's only changes in potential energy that have any physical significance. We could say that your gravitational potential energy (strictly the potential energy of the Earth–you system) is zero when you're standing on the downstairs floor of your house, but we could equally well choose to call it zero when you are on the subsoil below your house, or on the roof...
With two point charges, we choose the zero of their potential energy to be when they are so far away from each other as not to experience forces from each other, that is infinitely far away. This choice is made because then the potential energy formula for the two charges becomes very simple, as you know. We couldn't sensibly take the zero of potential energy to be when the separation is zero, because the potential energy at any other separation would then be infinite!
"Could the same be applied to gravitational potential energy as well?"
Yes. An important case is when the source mass is a spherically symmetric body of radius $r_0$. Then for a test mass, $m$ outside the body, the source mass behaves as if all its mass, $M$, is concentrated at its geometrical centre, and $$\text {GPE of}\ M, m\ \text{system} =-\frac{GMm}{r}$$
Now suppose that m is at height $h$ above the surface of $M$, so that $$r=r_0+h.\ \ \ \ (h<<r_0)$$
We can substitute $(r_0+h)$ for $r$ and expand $(1+\frac{h}{r_0})^{-1}$ to first order..
$$\text{GPE} =-\frac{GMm}{(r_0+h)}=-\frac{GMm}{r_0(1+\frac{h}{r_0})}=-\frac{GMm}{r_0}\left(1-\frac{h}{r_0}\right)=-\frac{GMm}{r_0}+\frac{GMm}{r_0^2}h$$
Now if we're interested only in the region $h<<r$ (as dwellers on Earth, perhaps), it's convenient to abandon the convention of taking the zero of PE at $r=\infty$ and put it instead at $r=r_0$, that is $h=0$. The first term then drops out and we're left with the familiar elementary formula$$\text{GPE}\ = mgh.$$