1) How do I limit the text field at registration to allow only letters (Both upper and lower case) or a combination of letters and numbers? I would like to remove special characters from being allowed.
Edit your text field and set "Authorized input:" to "Custom PERL regular expression" then set "Perl Regular Expression:" to "/[a-zA-Z0-9]*/" (without quotes)
2) Now that I have 3-4 users with this and the user name field is read only, will they be allowed to change their name in this case or will it be ignored since the username field is read only?
They can only change username if you allow username to be changed within CB > Configuration > User Profile and ensure the field isn't Read Only.
What I would like to do is to force them to change their name to remove the symbols, but I don't want to lose any of their personal data, so will it change the link to their profile and still keep everything tied to them?
Everything is linked to the user by their unique user id so changing username has no affect on this. Basically no they won't lose anything.