You can get a crossover cable to connect two computers to talk to each other, but better yet, just buy an inexpensive wireless router like http://www.frys.com/product/5665691?site=sr:SEARCH:MAIN... for $20. Do you have cable or dsl internet? The wireless router will make Internet connection as well as file and printer sharing a lot simpler for you.
What do you mean you have to be on-line to print? Do you mean that to print, you have to have internet access for both computers? Not even. In fact, the router does not have to be connected to a cable modem or dsl modem to print and share files using a router.
With PCs on different networks I cant think of a way of doing that that isn't very long winded each time you have to print - Remote desktop across the internet connections will allow you to share printers but you'll be opening up the world to your PCs.
Does the printer have mutliple ports on it? like USB and LPT - could use different ports for each PC.