Ubercart add custom price product?
Have you looked at the Variable Price module?
http://drupal.org/project/uc_varprice

It's ostensibly for donations, but I think it might be customizable for your purpose.