Check out Sebastian Lague's cave generation videos
3- Do you mean you don't want isolate room that do nothing/ accident trap players? His videos cover this issue
6- If you don't interest to have multiply floors (I mean 2 or more players able to stand in same x/z but difference y), you may need to use height map to identify if it is ramp, low level, mid level, high level or such. Something like teleporters or jump pads, I think you should store data separate from height map. I rest is generate mesh, I know you can do it.
4- My idea is defined center point -> defined player spawn points -> A* from spawn points to center point -> Move all non-lowest cost spawn points toward to center point by = cost - lowest-cost (or such)
1- Cellular Automata is bad algorithm but it is do good job in this type of generation, in my experience it is better than Perlin noise/OpenSimplex, so too large may take minutes. Well something like 256x120 is large enough to take many minutes to walk from corner to another corner straight, yet it take very short time to generate (possible to generate in < 5 sec, yet still get decent result)
2 - Never hear before, is it good? Sorry for ask off topic question in answer
Here is small potion of my 256x120 map generate, take about 14 sec

Good luck