Not sure about an app, but its real easy to do if you have something like Nero. I just use an MP3 editor to cut out 30 seconds from a song, use itunes to convert it to mp4, then manually change the file to mpr and add it to my library.
This. I make my own ringtones through iTunes using non-annoying instrumental stuff. It's really easy. Essentially create a < 30 sec clip, drag to desktop, rename extension to m4r, re-import. Bam.