For SMS tones, I don't think that the companies/apps/whoever make ringtones, make them available at SMS Tones. You shouldn't even pay for ringtones! Its such a waste when you can make your own they way you want, and even make it to go off as a SMS Tone.
Just grab your MP3 song and a audio file editor. Of course this will require a PC, but there are apps in the Android Market that allow you to edit a MP3 File and select what part you want to play.
If you are using the PC method, you have to put the file in certain folders. For a ringtone, you put it in Audio/Ringtones. For a SMS tone, you put it in Audio/Notifications.
*NOTE* The ringtone can only be 30 Seconds long. IDK if it has a file size limit, but I haven't ran into any yet.
If you are using the Android App method, all you do is edit the audio file and it will store it for you automatically.
^^^^^
This is by far the easiest, but if you want more tools to modify the audio file such as fading in or out, or amplifying the whole or just certain parts of the MP3 file, then the PC method is your best friend.
Hope this helps.
EDIT: When I was typing this, I kinda went off course in my head and completely forgot about your topic! There are no apps that will save an audio file as a SMS Tone, but like I said, you can use the PC method for this. If you don't want to use your PC, try creating a regular ringtone using Ringdroid, and save it. Then use a File Application (can't think of one off the top of my head ATM) and move the Audio file to its respected place, Audio/Notifications.
Doing this should help you get a custom SMS Tone. I've used the PC method as its simple for me, but you will get the same results using the method I just mentioned, just might have more steps.