The answer to the first part of your question, is no. The only exception is with the hard drive. You cannot connect a laptop drive straight to a desktop motherboard however, you can if you use either a converter or a caddy.
A convertor will allow you to connect the drive internally (i.e to the ribbon cable on the motherboards IDE controller). However, these can be a bit flakey, so I would recommend that you use a USB caddy instead, if you need to do this.
If you just want to gain more drive space though, you are better off buying a proper desktop drive (ie. 3.5inch instead of a laptop 2.5inch drive).
You can add a standard desktop drive to the existing drive simply by configuring the second drive as a slave & connecting it to the same ribbon cable as the first drive.