This is the process I have used to create a song ringtone on my iPhone 4S. Works a treat. Do note that this is with a Windows machine (I don't have a Mac):
Make an iPhone ringtone in iTunes 10
1) Launch iTunes 10
2) Find and select the song you want to make a ringtone out of in iTunes 10
3) Right-click on the song name and select ‘Get Info’, then click on the Options tab
4) Select the playback period of the song that you want to ringtone to be, make sure it’s 30 seconds
5) Now click “OK” and then right click on the song again, and select “Create AAC version” to create a new version of the song with the 30 second interval you specified
6) Locate this newly created 30 second clip in iTunes (at the top of the playlist if you search by ‘date added’
and right click on the file and then select “Show in Windows Explorer”
7) Now in Windows explorer, rename the file extension from .m4a to .m4r
8) Accept the file extension change to .m4r
9) Now back in iTunes remove the file from the playlist (do NOT move to Trash, select ‘keep file’
and then re-import the file into iTunes 10 by double clicking the .m4r file within the Finder or Windows
10) The file will now be added back into iTunes as a ringtone and you can do what you want with it
11) IMPORTANT! - Dont forget to change the start/end time back to normal [on the original song] after you're done, or every time you want to listen to that song it will only play 30 seconds!
Holler if you have questions.
Marilyn