Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
You can use GarageBand. Select the ringtone template (example ringtone) when you start up GB, open your iTunes library in the Media Browser, find the song you want, drag and drop and edit away. When you're done, select Share > Send Ringtone to iTunes. Google around for the exact steps.
 
brian tong at cnet.com had a video a couple of week ago on how to make free ringtones in itunes. just go to cnet.com and search for it. I tried it and it works really well and its easy
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.