Remember the days when getting a ringtone up on the iPhone was about as hard as, say, fixing the economy? There were all kinds of programs you had to mess around with, and sometimes it worked and sometimes it didn't, and most of the time, it just wasn't worth the trouble. Cut ahead a year from those days of yore to right now, and look at this -- all you need to get a ringtone of almost any song you want is iTunes itself.
If you want to do anything more fancy, you'll need GarageBand (and you've got it anyway, so follow Steven's guide if you'd rather do that), but as CNET shows, iTunes will let you choose the start and stop times of a song, and converting to AAC from mp3 will let you cut it down to just those times. Pull it out of iTunes, rename the extension, drag it back into iTunes (making sure to delete the version that's already in there), and voila, custom ringtone.
Note, however, that it doesn't work for music with DRM on it, but it does work for music you rip from a CD. One favor to ask, though: don't really put Young Jeezy on your ringtone -- those 'tones are obnoxious. How about a little Miles Davis instead?