1. I would never use a partition for a second OS on the same drive. With today's hardware technology, I would purchase a second drive (SSD if you can swing it financially). Partitioning a drive for a dual-boot is so old school.
2. If you want to use a virtual machine, try VMWare Player as I had experienced a very smooth installation for Ubuntu TenTen and Fedora 6. VMWare has been in the virtualization business for a long while and they seem to have all the basis covered. I'm attaching the user's guide to this post (GOBO if you want to create another section for Virtualization it might be a good idea. There we can post our recipes for each flavor of OS we use in a virtual environment, our experiences with the different virtual products, and any documentation we have, including our own notes!)
3. If any of the above isn't feasable for you, try using hard drive bays. At Pierce College, we had them in our CIS lab; I don't remember if they are hot swappable, but it doesn't matter. You would plug-in the HDD for the project you are working on at the time.
Question:
If you separate CentOS on its own HDD, will it attempt to mount the Windows drive, or will that only occur if you dual boot on the same drive? I would think not since the environment is separated by a physical drive.
I'll try CentOS myself (it's what HostGator is based on and I heard it is very good).
VMWare Player:
http://www.vmware.com/support/pubs/player_pubs.html