No, you don't have to... and while you can't do an in place upgrade, the Windows 7 setup will save all your files to a folder called Windows.old. Yes, you would have to reinstall all your programs, but your data will be intact at least. Of course, if you decide to do it that way, you should back up first anyway.
Windows 7 doesn't have to be aware of Windows XP... because new computers allow you to choose what drive to boot from using F11 or F8 or some function key... it varies by the computer / motherboard manufacturer. This means that each OS and it's bootloader can be intact on each separate hard drive.