handling non-node based items with ubercart
Having dealt with this exact circumstance before, we had a content type named 'bundle' which was purely a placeholder for the product details in Ubercart.

The user views the product and clicks 'add to cart' and in the cart is an instance of this 'bundle' with the product details in it.

Its far from a good solution and I would definitely be looking at creating a node for each of the products you have for sale - You could even create the nodes when 'added to cart' so you didnt need to add any in advance. 

Ubercart has a great API for manipulating cart contents and line items, have you looked at that at all?