Your choice of $\delta$ does indeed work. Here’s a way of explaining it that may be a bit clearer.

You want to choose your $\delta$ so that if $d(x,y)<\delta$, then $p(x,y)<\epsilon$; that will ensure that if $y\in B_\delta^d(x)$, then $y\in B_\epsilon^p(x)$ and hence that $B_\delta^d(x)\subseteq B_\epsilon^p(x)$. You know that $p(x,y)\le nd(x,y)$, so if $d(x,y)<\delta$, then $p(x,y)<nd(x,y)<n\delta$. As long as you choose $\delta\le\frac{\epsilon}n$, you’ll then have

$$p(x,y)<nd(x,y)<n\delta\le\epsilon\;,$$

which is exactly what you need.