It would take some re-working, but it could be done --- actually, that'd probably be a function best left for a new plugin (would get the Greeble code a bit messy otherwise
).
This isn't exactly what you're looking for, and may or may not work well for trees (depends on the level of detail and types of trees you're looking at), but maybe placing axis-aligned surfaces beneath your contoured surface would work? Your trees wouldn't follow the underlying contour based on its height, however...