hmm... well, there are a couple ways which i think might help this.
first could be you could set up the UI scene in such a way that you can load it without destroying the old level (i'm not sure the official jargon for this but the load-scene should have a toggle you can click to do this.) so it'll load this in a spot that's far enough away from the currently playing scene and snap the cameras to this new stuff...
Second could be that if you wanted to, you could stash the player information in the appropriate variables (vector3) as globals (one for position, one for rotation) and if you're using player prefs, you could stash all the pertinent details in the player prefs as a sort of "standby" kinda deal... so, if you have ten enemies on screen that you want to stash, you can save their details to the prefs (or globals... but that'd make that list go insanely high depending on how much you need to stash.) this might work since if you click to the UI screen it can remember what you need it to remember so that when you click back, it should be able to remember the appropriate details. this would get very hairy to set up though... so, personally i'd rather go for the first option.
I'm sure there are other ways you could do this... though i'm not sure which ones would be the best options...
as for another potential solution, maybe consider revamping your UI so that it's all contained in the UI? that way if you're using the native UI or another thing like NGUI then you can easily just turn it on and off as needed.