i forgot to tell you that your unalocatted space need to become an new volume and after becoming an new volume it needs to be an partition (need to use NTFS when choosing the type of formatting) and after that choosed, you will see an option to mount the new partition as an NTFS empty folder and you need to choose that one and tel him in wich folder want to mount that (in this case is the empty folder that you gonna create for example i your desktop) and point it to there.
Thats it.
Why mount empty spaces in NTFS Empty folders? this option wasa buiol;t for servers, any time that an company need more space in
theyre servers shared folders, just add more disks and mount them there.Or else that add to stop the entire company, take old disks out put bigger ones,formatt the disks with OSs, install Active directories, assign policies to the entire company, Share permitions in each folder along with NTFS permissions, printers etc..(i think you got the point) it was too much time spender...
in your case, its better to use this because if gonna change the driver letter from D:\Program Files to C:\Program Files almost all your installed programs gonna have problems since they are registered (in registry) to boot from an D:\ drive and not from an C:\ drive!
So that is not a very good option for you at the moment.
But if this idea to mount he free unalocatted space left from XP is a litlle weird for you, you can always get an third party program to "join partitions" so you can merge the D: drive and the unalocatedd space left from XP like this tool that is free:
http://www.softsea.com/download/Partition-Wizard-Home-Edition.html
but remember, to do that, first you still need to update the disk to became an Dynamic disk too like the other option i gave you.