With VirtualBox 3.1 It will be as you plan. The way to do it is:
1. install your base OS, then shut it down and get a snapshot.
2. Run your VM and install whatever extra stuff you need, then shut it down and take a snapshot.
3. Choose the first snapshot from VirtualBoxe’s Snapshots tab and click “Restore”. It will warn about losing the current state so just OK that (the current state is identical to the last snapshot).
4. Now run the VM and install other extra stuff that you need, shut it down and take a snapshot.

What you will have then is 3 snapshots:
– Snapshot 1: Just your base OS ready to install other stuff
– Snapshot 2: Base OS with software setup A – you can always restore to it and boot your VM and you’ll get that setup.
– Snapshot 3 (from step 4 above): Base OS with software setup B – you can always restore to it and boot your VM and you’ll get that setup.

Also – when you’re done with one setup and want to switch to the otherside of the fork, don’t bother shutting down properly – just close the VM and tell it to “restore to snapshot” and then it will revert to how it was just after the snapshot – ready to be run again with no messy shutdown process, and no “current state” to worry about. You can also get the snapshot while the VM is running, and then when you restore to the snapshot and power on the VM it will immediately be running!

I personally am still using my original setup (before VirtualBox 3.1) because I want the ability to run both copies of the setup at the same time 🙂 .