I've made something like this before (a map screen with defined paths). The way I did it was to have a bunch of sprites to be 'nodes' on the path and each node would have instance variables containing the UID of the next node(s) you'd go to if you pressed each direction.
Eg. one node might contain these variables:
And when the user was on the node and pressed the arrow direction they wanted, the game would then pick the node object with the UID specified in the instance variable and send them moving in that direction (or, if no UID was specified, assume that there was no path there and do nothing).
Just had to put these nodes at every junction and set the IDs up so they'd all link together in the right way.
Admittedly it was slightly tedious doing it that way but it was only a small map screen. If you had to do a LOT of mazes it might be worth thinking of a smarter way to do this.