Not exactly helpful there.
Yea, but I don't want to do all of your work for you, as that would take me away from the copious amount of work that I have to do.
Like newt says, you have tiles, each with an id and some kind of schema for determining "open" vs "walled" edges, then you just roll a bunch of random numbers to determine id and position and do if-then checks to ensure that "open" matches up with "open".
You can use Rex's "Board" & "SquareTx" plugins to do the isometric part; he just uses an x,y grid and ports it into isometric.