Is it possible to make a bunch of smaller chunks of a level then piece them together at run time?

Just make a stepwise spawn function for your room loader. Stagger object loads by frame to make generating the room from a blueprint class smoother and with less frame stuttering. Like load the structures in one (or over a few) frame(s), then furniture, then clutter. This would make even large rooms load much more smoothly.

You can even “faux bake” rooms/meshes you know youll be using repeatedly by having an instanced mesh converter funtion which swaps your dynamic actors into static instanced meshes for max performance.