Keep Multiple Versions
This may be obvious, but you can install new versions of Xcode in different folders. Then you just use the version that you need for a specific circumstance.
For example, I download and install most of the Xcode point updates. I have folders with the naming scheme: Developer YYYY_mm_dd Xcode X.x.x SDK X.x.x. So I have these folders on the hard drive Macintosh HD:
Developer 2010_07_15 Xcode 3.2.3 SDK 4.0.1
Developer 2010_11_22 Xcode 3.2.5 SDK 4.2
Developer 2011_02_03 Xcode 4 GM seed SDK 4.2
and so on.
The yyyy_mm_dd is the release date in the download information, I use that because sometimes they release a new build with the same version number but at a later date. You can replace the date with the build number of just ignore the date/build if you want shorter folder names.
Then if you have a project that needs SDK 4.0.1, you go to that folder and fire up Xcode. Or if you like Xcode 3.2.5 better than 3.2.3 for whatever reason, use that folder.
I'm not sure what's under NDA and what's not, but it would make sense that .xcodeproj files created by Xcode 3.x can be opened by Xcode 4. If you're worried that a project opened in Xcode 4 will be unusable by Xcode 3, just duplicate that project and use the duplicate in Xcode 4 to play around with.
Each Xcode installation is only 10 GB to 15 GB, and a 1 TB hard drive is less than $200, so space is not a problem. If you're a neat freak like many programmers, you can just trash any installation folders after you feel you no longer need that version. This assumes you don't save any projects in your installation folder - you should save projects somewhere else like the documents folder. One note, if you trash an installation folder, and you have Empty Trash Securely as a Finder preference, it will take several hours to empty the Trash. You may want to turn off secure delete before emptying the Trash in this case.