I wrote a plugin that is similar to what you want ...
Two commands:
sm_addmember <name|#userid>
sm_removemember <name|#userid>
One cvar:
sm_clantag <tag>
The addmember command does the following:
1. Strips the clan tag from the member if they are wearing it and stores their name in a sqlite database.
2. Renames the member with the correct clan tag in their name.
Whenever a player joins the server, the plugin queries the database and changes their name to the stored value. If they try to change their name, it changes it back.
If someone tries to put on the clan tag and they are not stored in the database, it kicks them.