I've written a module called uc_product_keys for D6/UC2. The project is at http://drupal.org/project/uc_product_keys (the dev release may not be available till tomorrowâ€”if you don't want to wait, you can grab the files from CVS).
The module is in alpha and I need people willing to help test it out. I've found that the Drupal community tends to catch a lot of the boundary cases that I miss.
For what it's worth, I also helped write the uc_addresses module.
Thanks in advance to anyone who helps with this effort.