1. Haussdorff distance as computed by CloudCompare is simply the distance from each point to its nearest point/triangle in the other entity.So in the general case, it is absolutely not a vertical distance, but in your case it could be equivalent to a vertical distance if and only if the plane is the least-square best fitting plane.
2. CloudCompare can't do this right now (i.e. projecting scalar values onto another entity). At most you could flatten your cloud (by saving it into ASCII format, then loading it again and ignoring the Z component). Then you could triangulate the resulting 2D cloud to get a flat mesh with the right scalar field (but it may not be so nice)
Otherwise, here is a trick that may do what you want (but it depends on your input cloud):
[*]There's a special tool for vertically projecting a cloud ('Tools > Projection > Heigh grid generation). This tool 'rasterizes' the cloud by projecting it into a planar grid (int the XY plane). All the points that fall in a cell are then replaced by a single value (you have the choice: either the elevation of the highest point, the average elevation or the elevation of the lowest). On output you can get a (2D) cloud with the selected values as scalar field, and/or a colored image (tiff) and/or an ASCII grid file.
[*]There's another feature in the last release version that should help: when calling "Tool > Other > Plane orientation", you get a matrix in the console that can then be applied to the cloud (with Edit > Apply transformation) in order to make the best fitting plane parallel to the XY plane.
So if you want to compare your cloud to its best fitting plane, you can make that plane coincide with the (XY) plane, in which case the distance to that plane is equal to the points height (+ a constant). Moreover, you'll get the result as an image or a regular gid. And if your problem doesn't exactly fit to the above workflow --> it shouldn't be too hard to modify the code to make this work?
Daniel, CloudCompare admin