the usual solution is: create a partition on the desired spindle, mount it in some arbitrary place (drive letter or folder), copy the files from c:\program files (preferably using backup software so that file dates, attributes, etc. are retained exactly), empty the c:\program files folder once the copy is verified to be correct, then change the mount point of the new partition so that it gets mounted at c:\program files. if you're using vista x64, also do the same for c:\program files (x86).
however, this might be a good time to reinstall and correct your original error, reinstalling your apps to e:\program files (or e:\program files (x86)) and let those things that insist on installing to c:\ do so; be sure to make the boot partition large enough to accommodate those apps. i do that myself, my vx64 ultimate boot partition is 50G with 14.5G free right now. i do, however, install some programs to c: intentionally if they are critical apps that i might need to recover from problems (e.g., 7-zip, antivirus apps, backup software, etc)
given that (apparently) your CD/DVD drive is D:, i also recommend changing its drive letter (i use R: (for "ROM", "RW", or whatever mnemonic you want to call ti), S:, T:, U:, V: and W: for my optical drives); that way, when you add hard drives in the future, the optical drive won't be in the middle of the drive letter sequence. you can also change occurrences of D: to the new optical drive letter in the registry so that the "original install" location will switch to the optical drive's new location.