It seems to me that you're overthinking the problem. You have stated that 'users are oblivious to the backend usernam in the database'.
If that's the case, why change it at all? Why would xxxxjanedoe care if she changes her name and the username doesn't change?
You can change the display name of the system any time you like, the username doesn't matter.
The answer you're seeking is that No, you can't change the username without recoding parts of the DNN core. The username actually comes from the asp.net authentication provider (in the aspnet tables). The DNN userId is mapped to the username via the DNN Users table.
My thoughts would be :
a) create your own user account creation process, and automatically allocate a generic username (xxxxx) for the user, instead of letting them pick their own.
or
b) create a username change form, and run an update statement to update the username on both the aspnet tables (if you're using them) and the dnn Users table. Just because the username is unique doesn't mean it can't be changed.
or
c) Don't worry about it if your users can't see their username, because I highly doubt they care about what they cannot see. My google account may very well map to 'pinkpajamas' but I don't care about what I cannot see.