For the first question I would suggest changing the form label so that instead of "username" it says "display name". Then hide the Full Name field. The user logs in with their email address and password rather than their username.
For the second question you'd need to override the appropriate function in your custom theme. I don't know if the right variables are available at that point, though. But with the approach to the first question, it means two people can't use the same "display name" because the usernames must be unique. So you may not need it.