Hi Sam!
I'm a novice when it comes to Shopify but your question has gotten me really curious so I tried to find out as much as I could.
It seems that Shopify does give you the option of having a customer choose to create an account or not. Go to https://YOUSTORE.myshopify.com/admin/settings/payments and scroll down to "Customer Accounts". I would select the third option, and then save. Unfortunately (I could definitely be very wrong but from my investigation) I think the type of detail you want involved may not be available from this. For something so customized you may have to contact an Expert to help you. I've found the Expert's board here: http://experts.shopify.com/
If you are a developer though, or if you know someone who is, it looks like Shopify is very open to having custom work created even if you're not an "expert". If that's the case, I would suggest to check out http://docs.shopify.com/api/customer
I really hope you've found this helpful, and if not that you get the answers you're looking for soon :) Good luck with your launch!