DNN can do this already, kind of.
basically, you could have them register for the site, then when they register throw them into a security group that allows them to get to the demo portal signup page, then they can put in the portal name and stuff they want.
It's built in functionality, but I"M not sure how to reveal it in DNN without packaging it into a module, so I did just that :->
If you look at the dotnetnuke demo signup on DNN's site, you'll see the exact thing you are looking for.
Anyhow I've zipped it into a module you can drop into a page. I don't have it available for download at the moment, but if you send an email to me at:
jmartin AT rad-websites DOT com
I'll send ya the zip, or I'l have made it available on the website again so you can just dnld it. it's just the stuff you already have, zipped intoa module so it's easier to use.
Josh