I used to have the same exact problem. Seems that it was caused by other people on my buddy list using some kind of strange animated GIF for their buddy icon which would cause iChat to freak out and suck up all available CPU time.
Its been a while since I had this problem, but I believe this is how you go about fixing it:
First close iChat to reset it. Then open it again. Keep activity monitor open so you can monitor iChat's CPU usage. Now, one by one, open a new chat with each person on your buddy list. When you end up starting a conversation with the person with the corrupt GIF, your CPU should sky rocket. You can now either ask the person to change their offending icon, or you can right click on their name and manually change their icon or delete it.
Hope that helps.