@ xlsior
You method will work but I can see the method I stated as being less CPU intensive, more dynamic and script friendly.
Let me explain.

In this scene the players way is blocked by a log, so if you had a simple script system for the game you could set up the cells as normal but then in script say something like:
Scene1.DisableZone=a2
Becuase zone a2 is disabled the player has no path to get to zone a3.
So the quest is find a axe to chop it up, he finds the axe and chops the log, then in script say.
Scene1.EnableZone=a2
That will then link the 3 zones so the player can move to a3.
Your method to me will need more work to acheive the same result. But I guess it all depend on how your coding the game.
You method will work but I can see the method I stated as being less CPU intensive, more dynamic and script friendly.
Let me explain.

In this scene the players way is blocked by a log, so if you had a simple script system for the game you could set up the cells as normal but then in script say something like:
Scene1.DisableZone=a2
Becuase zone a2 is disabled the player has no path to get to zone a3.
So the quest is find a axe to chop it up, he finds the axe and chops the log, then in script say.
Scene1.EnableZone=a2
That will then link the 3 zones so the player can move to a3.
Your method to me will need more work to acheive the same result. But I guess it all depend on how your coding the game.