Display Names aren't currently in NodeBB. Its not really something that has been requested that much. Considering you can change usernames.
How to ban user in a category or thread by category moderator?
I found only global moderator can ban user globally.
I don't really understand what you're asking. Yes, category moderators can't ban users globally AFAIK. This is expected behavior. Do you want them to be able to ban a user from a specific category?
yes, ban a user from a specific category or thread.