Anyways, I noticed that you can specify from which drive to run your winpe from by tweaking the registry. At a minimum this is required;
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\WinPE] "InstRootDrive"=dword:00000043 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE] "InstRoot"="C:\\"
And a few more would be required to change since some paths that are hardcoded by default. But the rest is only needed for every component to work completely. This is only tested on version 3.0 of WinPE.
Then I took it a bit further and tried to "dual boot" Windows 7 and WinPE 3.0 from the same systemroot (ie from C:\). By patching winload.exe you can load alternative system hive, so that you have 2 different ones to choose from. Then run both systems from the same SOFTWARE hive, by adding the above mentioned code to the software hive. This way the WinPE will not write anything to the local registry hives, as changes are never written back to disk. Now sadly I didn't boot fully, but at least it did not bsod, crash or reboot. It just silently froze with nice text on screen saying; "Setup is starting services", roughly at about where winint.exe would be launched. This was just for the test, and I'm sure people know better than trying this on a real system.