BubbleMagex You may have to take the RPG Maker approach where the blocks themselves are "events" rather than tiles, because you can instance them. There are also ways to procedurally generate instances like this to do what you want.
Coding the blocks this way would be quite simple. You could have a variable that flips when the player is in its area and perhaps check which way the player is facing with a raycast or another area2d that rotates with the player. While putting the blocks out would take a while, the coding would be simple enough. But games are work, after all.
### put this in your breakable object header
var _canBreak = false
That bool would flip when a player is in its area, but check if the player is facing it. I would use an Area2D with perhaps a square-shaped collision shape the size of your blocks. (Make it smaller so it doesn't register two of them. If you make this box a child of the player or object, it should rotate with the player if coded correctly). So we can put another bool in the player to check if breakable objects are in the path:
### in your player object and connect a signal from the area to flip this when a breakable is there.
var _hasBreakable = false
Then back in the object we connect a signal from the player (or you can just connect it in code) to check if the body entering the area is registering a break.
So the signal would look like this, assuming your Breakable object is called "Mining object":
func __on_Mining_object_body_entered(body_name):
if body.name == "Player":
if body._hasBreakable:
_canBreak = true
Then just have your input check for the _canBreak and only have it work if _canBreak is true. This is pretty rough code so you'll want to optimize it. Best of luck!