It really depends on what this is for as to how you approach it. If it's just for rendering, you could approach it a few ways, the easiest probably being to animate an operand in a proBoolean.
Also you could add a volume of rocks that surround the potential hole and using volume select and delete mesh modifiers create an animation of rocks being crunched up.
That all depends on the meshes. In the example I cooked up just now it never went much higher than ~300 polys. Make sure you are using a PRO-Boolean and not just a boolean. ProBooleans recalcuate the triangulation and vert count on each frame, I think regular booleans just keep multiplying
sorry i forgot to mention its just for rendering.. thank you mark for the suggestion.. a question, i have tried using this proboolean, is it normal after i subtract my mesh it leave quite a lot of unwanted vert?