Physical interaction between objects
Yes, Blender is absolutely capable of doing this.  The feature you are looking for is called dynamic paint.



To do this simply select the object you want to deform, go to the physics tab, click on dynamic paint, and choose canvas.



Then just scroll down to the dynamic paint advanced rollout and choose displace under surface type.



Next, select the object you want to use to inflict the deformation and set it as a dynamic paint brush (just select brush instead of canvas).

Then you can animate the brush object to scratch across the canvas object and it will deform it.

A few tips for using dynamic paint:


You will want the canvas object to have plenty of subdivisions so that it has enough geometry to get deformed.
You may want to enable anti-aliasing and add some sub-steps on the canvas object for a smoother deformation, particularly if the brush object is moving fast.  This makes Blender sample the motion of the object between frames for smoother painting.