Surface modifier?

So I have been playing with the curve modifier and think it is nifty. However, is there something similar to that, but works on a surface instead? For example let’s say I have a parabolic surface like this:


And I want to use that as a modifier for a mesh or something? So I could move a mesh along two bottom axi and it would stick on that surface. If I moved it up or down, it would pull away and deform similar to that of the curve modifier.

How can I do that? Would I have to write my own modifier?