1 500GB HDD = 100GB primary partition for OS, pagefile.sys, VM, and programs/apps; 400 GB (second primary partition) for My (or User) Documents, and other storage.
You can install OS on the entire HDD, then use EASEUS ALL-IN-ONE Partition Manager Software to make the second parimary partiton - do not make it a logical partition because if you re-format and re-install OS, you will lose all the data on a logical partition.
If you have two HDDs (JBODs, not RAID), then you can move the pagefile.sys and VM to the HDD w/o the OS, and get a performance gain. Progs/Apps still need the OS, so there's no noticeable advantage to putting them on another HDD or partition.
I find it easier to install the OS, and then add the second partition through OS/Easeus because that allows me to see that I have the OS on the C drive, and the storage partition another letter. Easeus is free and works with XP, Vista, and Win7. I have also used Partition Magic, but it only works w/XP.
A separate data partition is definitely a good idea. Personally, I wouldn't do a separate apps partition because if your OS did get screwed up you'll still have to reinstall all of them anyway after a reformat/reload. So many programs have settings and whatnot scattered all over the place. I'd just keep a backup of the combined OS/Programs partition instead so if you really wanted to mess with trying to restore settings you could. Or better yet, just clone it so you can just roll back the OS if you have problems.