You can - as long as you have a suitably large USB key - with ubuntu, for example, i used a customised build on a 4 gb key, so, you'd need at LEAST that much. I'd also suggest running the clean-up (apt-get autoclean and apt-get autoremove on debian derivatives) function on your package manager often, since many of them keep downloaded packages cached, and that's NOT useful on a small sized system.
Set the system to mount the hard drive at boot by editing fstab.
The home drive is a little trickier - If you want linux to 'share' the drive with another OS to me, the 'sanest' way to do it would be to do a standard install and symlinks - since normally you're expected to mount /home to a partition. Else, simply set the hard drive as /home at install, or edit fstab at a later point.
If you're going to use symlinks, i suggest doing it with the directory that the package manager downloads packages to (see a trend?) as well.