I think it might be best to keep the "Facings" simple. You only need 3 bits of Facing Data per tile in most cases; one Under Facing (the Floor), one Side Facing (along the left edge), and one Top Facing (along the top edge). As you added other squares, that squares Facings would fill in the spaces between the old tile and the new tile. You could also remove facings on the outer edges of the map, as they won't matter:
Example:]
▒║▒║▒║▒║▒
═ ═ ═ ═ ═
▒║▒║▒║▒║▒
═ ═ ═ ═ ═
▒║▒║▒║▒║▒
═ ═ ═ ═ ═
▒║▒║▒║▒║▒
═ ═ ═ ═ ═
▒║▒║▒║▒║▒
To help keep them simpler, consider the Walls the actual contents of the tile, but allow Facings and Floors to exist between them in special cases, modifying interactions with the Walls, or the spaces they stand between. They could depict Constructions, like Tapestries, Fences, Doors, Windows, grates, etc. Perhaps when fluid piping is implemented, pipes could exist as constructions built in Facing layers between walls. Facings could also depict certain special Natural Features; as Brooks are depicted as Natural Floors composed of water, Waterfalls could be similar Natural Facings made of water.
In regards to issuing Digging commands- when issuing a mining designation, you could have 2 options:
1) Use the area-selection method already used, which would also take into account the Walls and Faces.
2) Select a point of origin, and then navigate along the path you'd like to dig with the keyboard. You can select individual walls, faces, and floors to dig through this way.