Could I attach a USB port hub to the USB port on a router, and then attach two USB devices to the hub? Would that work, i.e. share the printer, and share a storage device?
Many routers run (or can run) a stripped down version of Linux on a SOC (system-on-chip). Depending on the chip and the operating system, it may very well have USB hosting capabilities. If you already have a router with a USB port on it, you should be able to look it up and see what you can attach to it.
Some of these "after-market" firmwares will support print server functionality, use of a USB stick for computer-less torrenting, or even use of a USB stick as a NAS device (Network-Attached Storage). Or more than one at a time, using a USB hub (assuming it's supported). The USB fork of the open-source Tomato project (Tomato-USB) can do this, though you can't use Tomato-USB on all routers: http://en.wikipedia.org/wiki/Tomato_(firmware)#Feature_comparison
It probably helps if you know a little command-line Linux. But there seems to be a lot of help available at the Tomato-USB page:
http://tomatousb.org/tutorials
DISCLAIMER: I don't run Tomato-USB since I have a separate NAS and a network-attached printer.