Learning a specific functional form with machine learning
Yup.  You define two neural nets (or other models) $f,g$ with weights $\theta,\psi$, define

$$o_{\theta,\psi}(x,y,z) = f_\theta(x) g_\psi(y) g_\psi(z),$$

define a loss function (which compares the predicted output $o_{\theta,\psi}(x,y,z)$ to the desired output), and then use stochastic gradient descent to find weights $\theta,\psi$ that minimize the aggregate loss on the training set.