You’ll need python for this.
If you look at my latest version of DEEP Space you’ll see I have pretty much exactly that!
I use the function:
to get a list of all blender files in the subdirectory “Levels”
Then I use:
path = bge.logic.expandPath("//Levels/"+level)
bge.logic.LibLoad(path, 'Scene', load_actions=True)
Where level is a string of the name of a blend file. (level should be a part of the list formed above)
This loads that scene. Unfortunately for you it does it as an overlay.
To put stuff on-top of it shunt it off to another scene that you then add as an overlay after you’ve loaded the level.
There is not much more to it that that.