You could of course use TEXT if you want a dynamically [max] sized field, but in reality, when are users going to submit super long URLs?
As for collation, what collation do you think you'll need? Will people submit URLs with all kind of languages or mostly English? If 100% English (or other characters in the ASCII table), something that can handle ASCII would work fine. If you would have other languages, I would go with a collation that can do UTF8 or UTF16.