Three. (25 points) As shown in Figure 2, given points $A$ and $B$ are two distinct points outside circle $\odot O$, point $P$ is on $\odot O$, and $PA$, $PB$ intersect $\odot O$ at points $D$ and $C$ respectively, different from point $P$, and $AD \cdot AP = BC \cdot BP$.
(1) Prove: $\triangle OAB$ is an isosceles triangle;
(2) Let $p$ be a prime number, and $m$ be a positive integer. If $AD \cdot AP = p(2p + 1)$, $OA = m - 1$, and the radius of $\odot O$ is 3, find the length of $OA$.
(1) Draw $A T$ tangent to $\odot O$ at point $T$, and connect $O T$.
Let the radius of $\odot O$ be $R$. Then
$$
A D \cdot A P=A T^{2}=O A^{2}-R^{2} \text {. }
$$

Similarly, $B C \cdot B P=O B^{2}-R^{2}$.
From the given, it is easy to see that $O A=O B$.
(2) From the proof in (1), we know
$$
p(2 p+1)=(m-1)^{2}-9 \text {, }
$$

which means $p(2 p+1)=(m-4)(m+2)>0$.
Since $p$ is a prime and $(p, 2 p+1)=1$, we have
$$
p \mid(m-4) \text { or } p \mid(m+2)
$$

exactly one of them holds.
If $p \mid(m-4)$, then $m-4=k p\left(k \in \mathbf{N}_{+}\right)$.
If $k=1$, then
$$
2 p+1=p+6 \Rightarrow p=5, m=9, O A=8 \text {. }
$$

If $k \geqslant 2$, then $m+2=k p+6>2 p+1$, a contradiction.
If $p \mid(m+2)$, then $m+2=k p\left(k \in \mathbf{N}_{+}\right)$.
If $k \leqslant 2$, then $m-4=k p-6<2 p+1$, a contradiction.
Thus, $k \geqslant 3$. In this case,
$$
\begin{array}{l}
2 p+1=k(k p-6) \geqslant 3(3 p-6) \\
\Rightarrow 7 p \leqslant 19 \Rightarrow p=2 .
\end{array}
$$

However, when $p=2$, $(m-4)(m+2)=10$ has no positive integer solutions, a contradiction.
In summary, $O A=8$.