How to measure distances from a point on a surface to a plane? I have a surface $f(x, y) = z$ and a plane $ax + by + cz = 0$. I need to:
$(1)$ Find the points on the surface which are above plane, and
$(2)$ measure distances from those points to the plane.
How can I do that?

The plane
$ax + by + cz = 0 \tag{1}$
passes through the origin $(0, 0, 0)$.  Setting
$\mathbf v = \begin{pmatrix} a \\ b \\ c \end{pmatrix} \tag{2}$
and
$\mathbf r = \begin{pmatrix} x \\ y \\ z \end{pmatrix}, \tag{3}$
(1) becomes
$\mathbf v \cdot \mathbf r = 0. \tag{4}$
To decide which points on the surface are above the plane, first you need to specify which side of the plane is the above side.  If we look at equation (1) or (4), we see that they say that the vector $\mathbf v = (a, b, c)^T$ is normal to the plane in the sense that points $(x, y, z)$ in the plane, when thought of a vectors, are perpendicular to $\mathbf v$.  We can normalize $\mathbf v$ to a unit vector $\mathbf n$ by dividing it through by $\sqrt{a^2 + b^2 + c ^2}$ to  yield 
$\mathbf n= \dfrac{1}{\sqrt{a^2 + b^2 + c ^2}}\mathbf v; \tag{5}$
(4) is then equivalent to
$\mathbf n \cdot \mathbf r = 0. \tag{6}$
At this point I submit to you, my readers, that it is most natural in light of the above considerations to consider the "above" side of the plane described by (1), (4), and (6) as the side to which $\mathbf n$ points.  This is in keeping with our usual interpretation of the standard unit vector $\mathbf k$ in an ordinary Cartesian coordinate system on $\Bbb R^3$ as pointing in the "up" direction; that is, in the direction of increasing $z$.  Indeed, for any point $\mathbf p \in \Bbb R^3$, writing $\mathbf p = (p_x, p_y, p_z)^T$, we can form the projection of $\mathbf p$ onto the subspace generated by $\mathbf n$, which is the set $\{s \mathbf n, s \in \Bbb R \}$.  It is in fact $(\mathbf p \cdot \mathbf n) \mathbf n$; we see that, in the event that $\mathbf p \cdot \mathbf n > 0$, $\mathbf p$ lies in the portion of $\Bbb R^3$ which is, according to this way of looking at things, "above" the plane $\mathbf n \cdot \mathbf r = 0$.  Furthermore, the distance from $\mathbf p$ to the plane $\mathbf n \cdot \mathbf r = 0$ is simply $\mathbf p \cdot \mathbf n$, the component of $\mathbf p$ in the $\mathbf n$-direction, exactly as in the case of the vector $\mathbf k$ and the $xy$-plane in $\Bbb R^3$, which is a special instance of the present more general situation.  Of course, it is also possible to replace $\mathbf n$ by $-\mathbf n$ and obtain the same results with the notions "above" and "below" the plane interchanged.  Since $\mathbf n \cdot \mathbf r = 0 \Leftrightarrow -\mathbf n \cdot \mathbf r = 0$, the plane remains the same; the notions of "above" and "below" however are swapped when we flip $\mathbf n$ to $-\mathbf n$.
In the light of the above remarks, if we have a point $\mathbf q = (x, y, f(x, y))^T$ in the surface, it is "above" the plane $\mathbf n \cdot \mathbf r$ precisely when $\mathbf q \cdot \mathbf n > 0$, and its distance to the plane is then $\mathbf q \cdot \mathbf n$.
