>>> there is a USB on the router for attaching an
>>> external hard drive, but can I connect a
>>> printer to this port?
I think it is unlikely that the router can be used as a "print server", but check the manual.
>>> Or if I get a printer with ethernet connection,
>>> can I plug it into one of the ethernet ports on
>>> the back of the router so we can print
>>> wirelessly from either my laptop or my wife's
Yes, that will work and give you "wireless" printing.