Why would you want to set a full song which takes up 3-5MB's as a ringtone?
What does it matter? If the song is not stored on the application memory it will not take up the whole memory size of the song to play as the phone rings. The ringtone setting is just a tag as to where the phone needs to go to play the song when the phone rings or whatever alert goes off. That's all. As a matter of fact, if you set a ringtone from your Memory Card as an active ringtone and then pull the card, the phone defaults back to the OEM tone until you reinsert the Media Card.