Be warned that if you go the jhbuild route, it'll suck up loads of time before you actually get anything working. The "GNOME OS" bit is not to replace a distro, but to ensure that "GNOME" behaves like an OS.
Or in other words: ensure that you can easily join development. Be able to provide people with the latest GNOME release as a VM, including all the various system dependencies which are needed by GNOME. Be able to fully test the whole "OS" (meaning GNOME but also the system dependencies).
To answer your question:
The way that jhbuild does this is by installing everything in different prefix. So instead of /usr, you can have the entire GNOME stack (+ some dependencies) in e.g. $HOME/gnome. You can then tell GDM to launch $HOME/gnome/bin/startgnome.
What I forgot is that this will still share the "dot" files. We've put a lot of work into supporting the XDG directories (~/.config), which can be changed using environment variables. Quite envious of KDE here (they solved that years ago).