Although pricey, i use BeeJive and its the best one ive ever used after going through the free ones. It does pretty much all the IM applications, and keeps it on in the background and does push.
I used to use Pidgin, but in my new job I'm so mobile that I use the web-based apps from Yahoo and GMail for IMing. It also helps 'hide' that you're IMing at work to use a browser.