As many have noted, you can link to a Jabber server to connect iChat to MSN/Yahoo. However, I couldnt find a public Jabber server that supported Yahoo. A bit of searching found that it was very easy to install and configure your own (Openfire), which will automatically run in the background.
A summary of the steps I used:
Download and install OpenFire; make sure you use an embedded database when asked.
Add a user to the system. Use a simple name, e.g. mark.
Go to the Admin page, select Plug-ins, and install the IM Gateway plug-in. (In the Plug-ins tab, there is an available Plug-ins tab, which auto-downloads and installs!)
On the Main menu, select Gateway -> Settings, and enable Yahoo/MSN and others you need. (This also allows you to test.)
Register your user with the gateway. (i.e. associate your Jabber ID with your MSN user ID.) This can be done by eithe...