Yes and no.
First, note that a meromorphic function that doesn't have an essential singularity at $\infty$ is a rational function. You can find a proof here. Then because you require analyticity in the entire plane, $p(z)$ must be a polynomial. To check analyticity at $\infty$, we check that $g(z) = p(1/z)$ is analytic at $0$. Write $p(z) = a_0z^n + \dots + a_n$; then $$g(z) = a_0z^{-n} + \dots + a_n = \frac{a_0 + a_1z \dots + a_nz^n}{z^n}$$ For your second question: if we demand that $g(0) \in \Bbb C$, then we must have $a_1 = \dots = a_n = 0$. So the only holomorphic functions $S^2 \to \Bbb C$ are constants.
Now if you allow $p(z)$ to have a pole at infinity, we're fine; $g(z)$ is perfectly meromorphic at $0$. So the meromorphic functions on the Riemann sphere that are analytic on the plane are precisely polynomials. (The meromorphic functions in general - if you don't make any analyticity requirements on the plane - are the rational functions.)