There are several ways you can accomplish this.
One, is to run a virtual machine of windows on your linux machine. This requires a lot of RAM because virtual machines basically make a virtual layer over your OS and use it for another OS, using all the same existing hardware. Which is why it is so much faster than emulation. However, the down side is you need to be running a decent amount of RAM for your Linux install and for Windows. I would say at least 2 gigs for Linux + XP VM, or 1gig for each. Now, some more advanced VM applications like Parallels or VMware Fusion, allow you to run virtual machine in a windowless mode. So, if you were to launch MS office on your Linux machine in this mode, it would launch the application and the windows virtual machine but you would never actually see the windows desktop,it would just launch in the background. That is the best I can explain it.
Second option would be to try to run it in WINE, which is a set of APIs that allows windows applications access to hardware and a virtual registry to fool the application into thinking it is running in windows. Some things work well, some okay and a lot of things work so-so in WINE.
Third, find a Linux alternative. For video games this may be hard but for your instant message application I am sure there is an open source version based on jabber or what not that supports AIM, MSN, yahoo, etc and can be ran natively on Linux. There is almost always a Linux alternative you can use that is similar.
Of course a fourth option would be to dual boot, but in this day and age who wants to reboot into another OS? I mean I would just run a virtual machine. The down side is virtual machines don't quite perform as well as running anything heavy with graphics natively. Basic apps you may not see a difference, I know I don't. But with more advanced apps you may notice that it doesn't run well or in some cases run at all. This of course is really referring to higher end applications and gaming.