Nicknames should replace your gamertag in game, But not in notifications, Or if "Show Nicknames" (New option) is off.
You would have a global nickname, And a local nickname, Local nicknames are world specific, And only apply to the world you set it on, Global nicknames appear on any world that you haven't set a local nickname on.
It also may be a good idea to have a permission to allow nicknames.
Player Titles would be set by scripts, And would appear next to your name at either the right or left side, These would not be affected by the permission or the option.
So, If my local nickname on a world was "Garrett", And my title was "Master Thief"
It would appear as "Master Thief Garrett" if the title was set to be on the left side, However without the permission, It would show as "Master Thief dryym"
I also think certain nicknames (Craig, Or any testers) should be blocked to avoid any confusion.
I believe at least half of this is already somewhat in the game, As Craig's gamertag in game is replaced with his name.