I am a little confused on the following question:
Suppose that $u$ is harmonic nonconstant on a $D(z_0,R)$ and $u(z_0)=0$. Is it true that on each circle $C(z_0,r)$, with $0<r<R$, the function $u$ will take both positive and negative values?
I think the following should be a counterexample, but I am not so sure:
$f(z)=0$ if $|z|\le 1$, $f(z)=\ln|z|$ for $|z|>1$, $R=2$.
If a function is harmonic then it satisfies the mean value property on any circle inside the region in which it is harmonic:
$$u(z_0) = \frac{1}{2\pi}\int_0^{2\pi}u(z_0+re^{i\theta})d\theta$$
If $u(z_0)=0$, then if the function takes any positive values (strictly greater than 0) on the circle $|z-z_0|=r$, then it must clearly also take negative values in order for the mean to equal zero.
It is easy to see that your example $f(z)$ cannot be harmonic, since if we take a small circle centered at $z=1$, then $f$ takes values equal to zero on the part of the circle inside the unit disk and strictly positive values on the part of the circle outside the unit disc, which would make it impossible for the mean to be zero.