Windows will generally assign one if it's USB (and presumably FireWire). I prefer to install mine hanging off the network, and those you have to navigate through the network and assign a drive letter the first time. After that Windows will remember.
If I take the drive to another computer, are the drive letters the same or will they change?
A new drive letter will be assigned.
If I INSTALL a program (.EXE) on the portable hard drive, will I be able to RUN it on any PC the drive is attached to? What if this programs creates registry entries? They don't move with the hard drive, do they?
It depends on the programs you install. Not all programs create registry entries, and not all that do need them to run. But the registry entries are on the drive where Windows resides, so no they won't be there if you plug into another machine and the programs won't work if they need their registry entries to run. Most people just put data on these drives.
I just want to be able to put programs AND data on a portable device so I can work on any PC. Is this even possible without this google GDrive type solution?
You could use a remote desktop like is included in windows or some product like Symantec's PCAnywhere or GoToMyPC, and you'd essentially be doing the same thing Google is, and have some of the same attendant risks, but at least you'd be in control. It sound to me like you need to get a good laptop (today's are competitive with desktops in terms of power and functionality) and just take the whole shebang with you. When you're at a place where you regularly set up, you can have an external monitor and keyboard to ease laptop fatigue.
Yet another solution, depending on the hardware your software needs to interface to, and how powerful the machines are where you want to sit down and immediately start using your own software and data, is virtualization. You can get VirtualPC, relevant versions of VMWare, and many other virtualization programs for free. So get it, build a virtual PC on this removable drive, and keep a copy of the host software on the drive as well. Then, at a new machine, you just install the virtualization software (about 5 minutes), and you're up and running with a PC that has your software, data, and is configured to your preferences.
Thank you for the detailed response.
Drive letters are just so 20th century. Me, I like to mount other (internal, external, remote) drives into my directory tree where they make sense.