So i'm just getting on with it.
Part 1. Email Address validation for attributes : http://www.ubercart.org/contrib/3477
Part 2. uc_ticket module, comprises of a large cron hook which
* - searches past ticket purchases which are pending
* - each email address (attribute) is compared against user list
* - if exists, add a role based on the product model
* - else create the user and add role
* - custom email based on tickets CCK text fields
Its all very specific to this implementation and has no GUI, but to a fellow programmer it should be clear what i'm doing and why (and therefore easy to customize to your implementation).
Its not quite finished yet, there are a few issues to work out (http://www.ubercart.org/forum/development/3479/update_cart_item_hook_qua... - may just hide the column with CSS) and a few extra bits of validation to write into the ticket module (e.g. cant buy a ticket for someone who already has one) - but its well on the way.
