For the username, you could create a plugin using hook location
register_addmember_process and code something like this:
Code:
if ($vbulletin->GPC['username'] is taken)
{
$userdata->error('usernametaken', htmlspecialchars_uni($vbulletin->GPC['username']), $vbulletin->session->vars['sessionurl']);
}
and you can probably do something similar for email or other fields.
Also, the username is checked on the registration form page via a call to ajax.php, so you could create another plugin using hook
ajax_start and code similar to the section that starts with
Code:
if ($_POST['do'] == 'verifyusername')
{