Is my recursive algorithm for Equivalent Words correct?
Your algorithm is not correct.
Here is a counterexample: $D$ contains the words $aa,bb,ac,bc$; $v=aa$; and $w=bb$.
A transformation is possible $(aa \to ac \to bc \to bb)$ but your algorithm won't find it.