Disclaimer -- I'm not a programmer, so you'll need to put your head together with someone who is if you need more help.
I believe the file you have to edit is: includes/templates/template_default/templates/tpl_modules_create_account.php
You'd have to save it as includes/templates/CUSTOM/templates/tpl_modules_create_account.php
where CUSTOM is your template override folder.
You would need to add code to force the referral. (You'd need to set the switch in Configuration --> Customer Details too.)
The code referring to referrals is towards the bottom.
HTML Code:
<?php
if (CUSTOMERS_REFERRAL_STATUS == 2) {
?>
<fieldset>
<legend><?php echo TABLE_HEADING_REFERRAL_DETAILS; ?></legend>
<label class="inputLabel" for="customers_referral"><?php echo ENTRY_CUSTOMERS_REFERRAL; ?></label>
<?php echo zen_draw_input_field('customers_referral', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_referral', '15') . ' id="customers_referral"'); ?>
<br class="clearBoth" />
</fieldset>
Exactly WHAT you have to add -- I suggest looking at switches for other required fields, like name, etc. and using those to try it out.
And...If I'm totally wrong I'm sure someone will correct me. *LOL* (off to get more coffee...)
HTH,