Paid work in London for help (ASAP) on a VR project for the 19th of October

Yes, you can make them in separate levels and then make use of Level Streaming to load one in over the other. This would be seamless in the sense that no loading screen would be required, however it would mean meshes appearing as they’re loaded in.
Some kind of fade in/out material or post process effect could work for you here. Just an idea.

Regarding level streaming; you would have a base “persistent” Level which would contain assets that exist in every level (the terrain, for example). Then, you can load and unload other levels as you require.
Here’s the documentation’s blueprint tutorial for level streaming: Load and Unload Levels with Blueprints | Unreal Engine Documentation

I assume you’d want to work on Levels simultaneously.
Two ways come to mind. First of all, it is possible to copy a level from one project to another, provided that both projects contain the same, required assets (meshes etc).
The “proper” way to do this would be to set up source control. Each team member could work on a different level in their own branch. If you don’t have any experience with this, then it may not be right for you.

I recommend you do some tests with a mock up project first - just in case anything goes wrong whilst you get to grips with the tools.