Originally Posted by David the H.
It's not something that's easily done. The apt packages are programmed to install their files to specified locations. In addition, these files are often scattered around the file tree, rather than a single directory.
You would probably have to manually rebuild the programs from source with different configuration options; which makes integration with the packaging system more complicated. It's not impossible, but it's probably more trouble than it's worth.
Actually, there is another approach you could take, which would be to have space on your external hard drive map to certain directories on your system. For example, you could have two file-systems on your external hard-drive: one could be mounted as /usr/games and /usr/share/games. Once they are mounted, your package manager can't tell the difference, and will install files to these locations as though they were on your regular drive. This could be automated too through fstab. And thus a lot of game binaries and data would reside on the external hard drive, though possibly not everything, such as some back-end libraries.
This actually isn't very difficult at all, though you would need to learn about mounting filesystems and about fstab.