Here's how I would prove it:
$$
\begin{eqnarray}
\left({\bf r} \times \nabla\right) \bullet \left({\bf r} \times \nabla\right) &=& \left({\bf r} \times \nabla\right)_k \left({\bf r} \times \nabla\right)_k\\
&=& \left(r_i \partial_j \epsilon_{ijk}\right) \left(r_m \partial_n \epsilon_{mnk}\right)\\
&=& r_i \left[\partial_j \left( r_m \partial_n \epsilon_{mnk}\right)\epsilon_{jki}\right]\\
&=& r_i \left[\partial_j \left({\bf r} \times \nabla\right)_k\epsilon_{jki}\right]\\
&=& r_i \left[\nabla \times \left({\bf r} \times \nabla\right)\right]_i\\
&=& {\bf r} \bullet \left[\nabla \times \left({\bf r} \times \nabla\right)\right]\\
\end{eqnarray}
$$
Repeated indices are summed, and I used 16 here and a property of the Levi-Civita symbol, namely that it is invariant with respect to cyclic permutations of its indices.
Note that, in general, you cannot always substitute $\nabla$ in a vector identity because $\nabla$ is an operator. For example, take the "identity"
$$
{\bf A} \times \left(b {\bf C}\right) = b {\bf A} \times {\bf C},
$$
where $\bf A\left({\bf r}\right)$, $\bf B\left({\bf r}\right)$, and $c\left({\bf r}\right)$ are fields (vector, vector, and scalar, respectively) that depend on position. Now substitue $\nabla$ for $\bf A$:
$$
\begin{eqnarray}
\nabla \times \left(b {\bf C}\right) &=& \partial_i \left(b C_j\right) \epsilon_{ijk} {\bf e}_k \\
&=& \left[\left(\partial_i b\right)C_j + b \partial_i C_j \right] \epsilon_{ijk} {\bf e}_k \\
&=& \nabla b \times {\bf C} + b \nabla \times {\bf C}\\
&\ne& b \nabla \times {\bf C}
\end{eqnarray}
$$