Assuming it would work, it depends on the OS and the OS the program/game/whatever is designed to run on. Normally, windows things tend to put stuff in the registry and create some folders on the OS partition to store information they require to run. I don't know much about external hard drives and whether they can run OSs, though.
But if your program stores all its files in the same place, at least the same partition and knows how to access them regardless of any change to drive letter, they will work depending on the OS they interact with.
For instance, you can put Outpost 2 on an external drive and play it from there. I did that with my flash drive.