Regarding System Restore, I think restore points can only be written on the disk where the operating system is installed (I haven't read anything where is says otherwise anyway). So you couldn't use an external disk for that. However, you could start putting some of your files out to an external drive to free up some space for more restore points on the internal (C:\) drive.
It is also possible to reduce the amount of disk space that System Restore uses. Click the 'System Restore' tab in 'My Computer' and the click the 'Settings' button. Put the slider back from the 'Max' position. This will give fewer restore points though.
Even if you decide to upgrade the internal drive, a second drive is handy to have for backup purposes. I have a second internal drive and find it very useful for saving downloads to and using as a general storage/backup area.
I think the the 40GB figure mentioned might be the hard drive size rather than the amount of installed memory? You can find out how much memory is installed by clicking on 'My Computer' and selecting the 'General' tab. The memory figure is given as 'RAM'.
_________________________
Error: Keyboard not attached. Press any key to continue..