A number of apps claim to be able to set any song as your Ringtone on your iPhone however, if you have used them you will already know that most of themworks only after it is synced with iTunes.
Best option to setup ringtones directly from your phone would be to use the GarageBand application by Apple available at iTunes. Download
Guide to setting up iPhone Ringtones
If you are going to use one of your songs to create ringtones, you will need to use the songs that you have purchased from iTunes and are currently on your iPhone to create the ringtone. You will not be able to create ringtone with any application that you ripped from your CD etc.
Open a the GarrangeBand application and click on the Track View.
At the Track View window click on the Loop button on the top right and select a song. You will need to select any one of the songs that are labeled with black blog text.
Select the song that you like and drag it onto the time line. You will need to make sure that the song is 30 seconds or less to make it to a ringtone. Save it as My Songs!
Now go back to your home at Garageband and select the song that you just created. On selection you will have a popup menu where you will have the option to share it as ringtone. Give it a name and you are good to go after the exporting is complete to ringtone.
Finally goto Settings >> Sounds >> Ringtones to set your new ringtone.