The short answer is Yes. In fact that is probably the best/easiest way to do it. If you already have a printer with a built in Ethernet port (or wireless), and a switch or router, then you have everything you need. If you don't already have a printer with networking built in, you would have to purchase one with that capability. When you have all your hardware setup, then you need to setup the networking on your PCs. If you are using Windows XP there is a built in wizard that makes this pretty easy.
This may not be possible. I have done quite a bit of internet research and can't seem to find anything. Is it possible to share a printer between two computers without a host computer or print server? The biggest reason I ask is because I get frustrated having to make sure the desktop is on when I want to print from the laptop. I would consider a print server if this fixed the problem but frankly, I'll go turn on the desktop before I'll shell out very much extra money. Thats why I was curious if a printer with an Ethernet port or wireless could connect directly to a router and communicate with the computers on my network. Thanks so much for your help!