ok, i'm assuming here you have only the two drives, C: and the external usb. it's probably labeled D: .
windows 'competing' with your other apps wont matter where you put photoshop. windows is always going to hog some ram for its use regardless of where you put it or any other apps. so, that doesnt matter here.
firewire and usb are MUCH slower than internal drive speeds. so, you might put your scratch disk on the external but at the same time LOSE speed due to the slower usb. i honestly dont know the answer to that one, but it is something you can check on your own without too much trouble. just set the scratch disk to one and use it and then change it to the other and use it. that shld tell you the answer to that one.
the ONLY reason you would put photoshop on an external is if you are out of space on the C: drive or another internal. the scratch disk, ok, but not photoshop itself if you can help it. this WILL slow down photoshop, especially when loading it up.
the best solution is to have photoshop and your scratch disk on an internal drive, preferably different internal drives where one drive or partition is dedicated to the scratch disk. this way you get the best performance from Photoshop and the scratch disk.
you might also consider buying another internal drive. they are cheap these days, very cheap. you can get internal drives of 500 gigs (a half a terrabyte) for around $160 or less with a 5 year warranty.
if you really want to beef up the system, get a faster drive, like one of the 10,000 rpm types.
the best use of external drives is backups. get a good backup program and just leave the external off until you want to back up your files. back them up and then turn the drive off again. this will, in most cases, prolong the life of that drive, which is definitely desired in a back-up drive.
check your C: drive for available space. if you're getting down to one gig or below, it's time to get a second internal or clean out some space on C: .
de-fragging is a good idea, but the folks have already covered that one pretty well, so i wont bother with further comments.
setting up a new drive or partitioning a new drive is much easier these days, but it is definitely NOT automatic. windows wont even set an active partition on a new drive. you have to do all this manually and therefore, some study is in order if you're going to do it yourself. if you're running windows XP you can even do it within windows. in the old days it was a DOS only function. so, if you have XP installed you can do it all from windows. this is one i'm NOT going to talk you through, though. get a decent using windows book and it shld show and tell you how. i tend to stay away from microsoft helps and tutorials if i can as they tend to be overly technical. it's actually not a difficult operation and is mostly visual, so not that hard, but you can screw things up pretty badly if you're not careful or just fumbling around going 'i wonder what this does?'
if you have vista, i dont know about partitioning on there, since i refuse to run vista yet.
edit: additionally, on XP, having over 2 gigs of ram wont help you much. xp just cant make use of anything over that much efficiently.