Hi! I would like to change my previous answer, as it was not thought enough
To make a destructible terrain, I would definitely use quadtrees. You have to divide your terrain into squares (which is convenient if you use tilemaps). Then, when there is a "hit", divide the square into smaller squares, and remove the bigger one. Keep doing that every time a square is hit. At the end, you will have a well sculpted terrain :)
In the example here I used a large final size, but you can descend down to 1x1px² to be more precise (although it may be more resourceful!)
Now you have to deal with collisions and texture.
Make the main square a StaticBody2D, with a collisionShape2D and a Sprite. When you divide it, copy it into 4 new StaticBody2Ds, and adapt the collisionShapes. For the texture, use Sprite regions, and adapt it to the size of the newer blocks.
Here are some links about quadtrees:
General principle: http://dylowen.blogspot.fr/2012/01/destructible-environment-quad-tree.html
A Godot 2.1 implementation with Area2Ds instead of staticBody2Ds: https://github.com/henriquelalves/destructible_terrain_demo
Another 2.1 implementations (mine :-) ) with RigidBody2Ds(instead of staticBody2Ds) where I handle custom textures: https://github.com/MattUV/DestructibleTerrainPhysics
I cheated a little bit with the collisionShapes, I loaded them first at all the sizes possible. And if you don't want the terrain to collapse when destructed, you just have to set the blocks as static ;-)
Also, you may want to optimize the algorithm a little bit to reduce the number of subdivisions. In my example, you can see that many subdivisions "inside" the green could have been avoided.
I hope you achieve what you'd like!