How to display product attribute as filter in product listing page?
bit late for the answer perhaps, but perhaps someone else finds it usefull.

Ubercart uses 'Attributes' and 'Options'. Filters uses 'Taxonomies' and 'Terms'. Menu modules like taxonomy filter, hierarchical select use the terms. There is no connection of these two as far as i know.

To use these filters, we have terms synchronized with options. So for every option there is a term as well. On the product edit screen, we have enabled the taxonomies corresponding to the product attributes. So on the product edit screen you can manually add terms for taxonomies. We set these tags automatically when we import the options data through a csv or cash-register connection. (And set options based on received term data as well.)

When you have this solved there is issue 2. Options without stock should (often) not be shown in menu options. 

So when f.i. Shirts->Red-Size XL has Size XL out of stock, then term XL should no longer be visible in the filters (when this is the only product). We made small adjustment to 'order-invoice' trigger where stock is reduced, to also check and remove terms where needed.

For handling this automatically and with a nice user interface I created a custom module.