Any modem router with ethernet connection ports would enable you to do this. (and most do)Wireless would allow you to move (the PC around the house)Look at D-Link, Netgear, Linksys.
You would need a network enabled printer (eg click here)or a print server, though a few expensive modem routers incorporate a print server. You also need a network attached storage device to provide the external HDD. Search using Google for NAS devices.
Connect printer and NAS device to router using ethernet network cables and PC by wireless and you are there!