What parameters you get out of your URL will depend on how your routes are set up. With your current route you would get:
params[:beta] = "rapunzel"
If you specify your route as:
map.connect '/signup/:beta', :controller => 'signup', :action => 'beta'
you could send them a link like: mysite.com/signup/rapunzel instead and you would get the beta parameter the same as before.
To get the beta field onto the form just include it as a hidden field on the form page template.
In the controller put something like:
@beta_id = params[:beta]
Then in the view template put:
hidden_field_tag 'beta', @beta_id
Then when they signup and create a proper id you'll probably want to hook in an association from their row in the user's table to the row containing the beta id in the "beta" table. This could be a has_one association on the beta table if you only wanted to allow a single user to register with each beta id, or a has_many if multiple people could sign up with it.