Since your items are listed on the page statically having multiple recordsets is the way to get the details for the select lists.
If you made your product listing on this page dynamic, that is all coming from a recordset then having multiple recordsets for each of the categories will not work since there is only one display on the page.
Whatever direction you would like to go is ok, but if you are making the product page static then having different recordsets for each of the select lists is the way you must do it.
If you would like to learn more about dynamic product listing please take a look at the eCart support page. In here you should take a look at the getting started guide. When you are setting up the example files you will be able to see the dynamic product page and how this works.
Also on the eCart support page there is a Related Articles and Tutorials section, in here the Setting up your dynamic site has some great info on using the repeat region to make dynamic pages.
ecart/


