An .avi is like a .zip file. They are both container objects that you can put whatever you want inside of it. It could be a video file that contains an xvid file, or a divx file, or a h.264 file, etc. Its not like an .wmv file which can only contain windows media.
There are many ways to transcode a file from one format to another. Some are free, some or not. Nero 7 and up has the ability to do this (not the basic version of nero), as well as programs like DVDsanta, convertXtoDVD, etc. I'm not sure of a good free one, perhaps this list can help. You probably want to wait for someone to suggest one.