Under just slightly stronger condition, namely that $\log|\phi(re^{i\theta})|\to 0$ in $L^1$,
as $r\to 2$ and $r\to 1/2$, the answer is "no".
One (real) condition must be satisfied, and this condition is
$$\prod_{k=1}^n|z_k|=\prod_{k=1}^n|p_k|.$$
It follows from Jensen's formula which can be written for your ring as
$$\int_0^{2\pi}\left( \log|\phi(2e^{i\theta})|-\log|\phi(e^{i\theta}/2)|\right)d\theta=2\pi\log\frac{|z_1\ldots z_n|}{|p_1\ldots p_n|}.$$
If this condition is satisfied, such function exists and can be constructed as an infinite product.
Notice that if $|\phi(re^{it})|\to 1$, as $r\to 2$ and $r\to 1/2$, your function, when exists, extends to $C\backslash\{0\}$ by reflection. This suggests how to construct the infinite product.
If my condition is not satisfied, and only $|\phi(re^{it})|\to 1$ almost everywhere, the answer is probably yes (with some very strong singularities on both circles), but are you sure you really need such a function?
EDIT. Here is the product construction. It will be more convenient to work in the ring
$A=\{ z:1<|z|<4\}$. Set $h=16$. Put
$$f(z)=\prod_{0}^\infty(1-h^nz)\prod_1^\infty(1-h^n/z).$$
Verify that $f(hz)=-(1/z)h(z)$ and $f(1/z)=-(1/z)f(z)$. This is a direct computation.
The zeros of $f$ are at $h^n$, $-\infty<n<\infty$.
Now set
$$\phi(z)=\prod_{k=1}^n\frac{f(z/z_k)f(z\bar{z}_k)}{f(z/p_k)f(z\bar{p}_k)},$$
where $z_k$ and $p_k$ are your zeros and poles. Verify that this function has correct zeros and poles in the ring $A=\{ z:1<|z|<4\}$. Then verify that $\phi(1/\bar{z})=1/\overline{\phi(z)}$, which implies that $|\phi(z)|=1$ when $|z|=1$. To verify the last thing use the functional equation $f(1/z)=-(1/z)f(z)$ and the condition that $|z_1,\ldots,z_k|=|p_1,\ldots,p_k|$.
The condition that $|\phi(z)|=1$ for $|z|=4$ is verified similarly.
Literature: any good course of eliptic fnctions, for example N. Akhiezer, or Whittaker Watson,
chapter on theta functions. On Jensen's formula: any good course of Complex Analysis, for example Ahlfors.