Think each path has to be generated by multiple passes of the pathfinding algorithm you decide to use then have them connect to a “hub” or subsequent passes connect along a main path.
You mean have the door placed on different walls or fixed door and randomly rotate the interiors?
It’s ok. I’m not going to do the work . What I can do is help with the overall logic. As far as I’m concerned all we need is place blocks on a grid and figure out how to connect them.