Can I download Steam games to an external HDD from a city library or other public PC?
Solution 1:
It depends.
If you can install Steam on a library computer, then you can install games onto the external hard drive and it should "just work" once you connect it to your home PC and restart Steam (assuming that PC already knows there's a Steam library on that external drive in the first place). If it doesn't work, you might need to follow the "move my existing installation" instructions from that same page to convince your home PC to recognize your downloaded games. This may also prove useful if you want to move your installed games onto an internal hard drive. Unfortunately, if your home PC has no internet whatsoever, then you will not be able to verify your game cache files, so this somewhat limits your options.
Another option is to create a backup at the library and then "restore" that backup on your home PC. This also requires installing Steam but may be a little more user-friendly.
It's hard to say whether a given library will allow you to do that. Steam isn't malware or otherwise harmful, but if the library intends their computers to be used (by children) for studying purposes, they might consider Steam an attractive nuisance and refuse to let you install it. You probably won't have administrator access to those computers, so you likely will not be able to install Steam without permission. Steam is not designed to be used as a portable app, and likely will not work correctly if it does not have administrator rights.
If you had a laptop, you could of course use that in lieu of the library computers, but you said that you don't. Note that a gaming laptop is not required for this purpose, as Steam generally doesn't check any minimum requirements before installing a game (aside from hard drive space and software compatibility). If a laptop can run a recent version of Windows and connect to the internet, it's usually good enough for downloading purposes.
There is one other hurdle, which is that many games require first-run setup. Usually, this consists of downloading and installing various bits and pieces such as VC++ redistributable and a particularly obnoxious DirectX helper library. These installers are not large, but if you have no internet whatsoever, you won't be able to download them on your home PC, and you may have difficulty getting games to launch. I am not aware of a supported way of working around this problem, unfortunately. If you can figure out what specifically needs to be done for an individual game, download those installers separately, and run them manually, you may be able to launch that game's executable directly, without using the Steam interface. Not all games will support this.
(Assuming Steam is smart enough, it ought to download these separate installers at the same time as it downloads the game itself, and Nzall in the comments indicates that Steam does in fact do this. However, I have not tested it myself.)
Finally, you should practice appropriate account hygiene when logging into Steam (or any service) on a public computer. Log out when you're done. Use a strong password and enable Steam Guard.
Solution 2:
If your PC isn't too heavy then buy a WiFi card and try physically bringing it to a source of free internet, install everything, launch every game at least once, and then pack your things.
Odds are that the free internet has atrocious speeds so if you have a friend with fast internet then humbly ask to mooch off them for a few days while everything downloads. Just set your bandwidth limiter to something reasonable so that your friend can continue enjoying their Internet service without cursing your PC for hogging all the Internet.
On my 100/100 FIOS I find that setting a 75% limit allows for plenty of leftover speed for the other devices on my network.
From https://imgur.com/ZfVnJpt
Solution 3:
Assuming this is a simple library setup with physical machines and without VMs, you may be able to live usb HDD boot into an OS so that you get around group policy at the library; this would allow you the ability to download steam onto your (or even their hard drive if they don't have bitlocker or some other encryption on the drive). Many library IT systems are not sophisticated enough to block this or deny internet to machines that are not part of the domain (although this will likely change in the future).