A question on geometry deformation

I’m looking to set up a sort of sandbox type game that allows the terrain/scenery to be deformed. For instance in a room where you once had a flat and solid wall:

you do something and it “digs” a hole in the wall:

Now, the terrain/scenery needs to be collideable. My question to you is, what do you view as the ideal way to achieve such a thing? should I create procedural terrain which can be interactively changed and created? or should I create the original mesh file in a separate program, import as an egg and manipulate it from there?

As a side question, I’ve been having a bit of a challenge getting procedural geometry to be collideable, is it possible to do so? or do I just have to create a bunch of collisionPolygon’s that correspond to each polygon of the procedural mesh?

thanks in advance