You can’t assign multiple names for one user. A dirty hack would be to create a bunch of unused dummy accounts with no capabilities simply to reserve names.
A more elegant solution would be to hook filters for various fields and apply a blacklist of certain names. The filters are invoked from the insert_user() definition in wp-includes/user.php. This php example should work:
add_filter('pre_user_login', 'scy_check_names');
add_filter('pre_user_nicename', 'scy_check_names');
add_filter('pre_user_nickname', 'scy_check_names');
function scy_check_names($provisional) {
$black = array('administrator','admin','editor','moderator','mod','cialis');
if (in_array($provisional,$black)) wp_die('Invalid name, try something different');
return $provisional;
}
This isn’t very elegant either, but gets the job done. You could use regular expressions to capture more variations like “adm1n” or “_admin_”. The error handling could certainly be improved. It’s a start.