1. yes, it would be good to buy RAM that your motherboard supports. you may wish to buy the EXACT same RAM that you have in your comp to avoid compatibility issues.
2. for harddrives, you really just need to be concerned about 4 things: the capacity of the drive, the speed of the drive, the cache of the drive, and the interface of the drive (SATA or IDE). the capacity is totally up to you and the speed is for whatever your budget is, the higher the speed, the more expensive the harddrive...way more expensive. below is an example...
320gb Seagate Barracude SATA @7200RPM - $93.83
300gb Seagate CheetahSATA @ 15000RPM - $686.86
7200RPM is the most common harddrive speed as of now and we can see why, as many are still not willing to spend almost $700 on a 300gb harddrive.
as for the harddrive cache, the more the merrier. the rule usually is, the larger the HD, the larger the cache should be.
for the harddrives interface, it depends on what the interface is of your master harddrive. if your master harddrive is an IDE drive, you should buy an IDE harddrive, and visa versa regarding SATA.