ughh, tough question...
Depending on the number of products, the xslt solution may be a bit slow. Also, you will have to do a lot of splits, and your own result ranking. There is an <em>XSLT search</em> floating around which would be a good starting place.
Writing a custom search control may be a better solution, however, it may not be any easier. It may be a good idea to look at the umbracoUtilities, and write your own query parser and results control based upon that. This way you could possibly do the multiple category thing.
Using <em>umbracoUtilities</em> search could possibly work, though I have not succeeded with the <em>advanced</em> searches. You could pass the lucene engine field names, and it is suppose to return results based upon, ie Category:"NEW PRODUCTS" (which you would probably pass the ID).
Basically, having the option to search/select multiple categories at once is going to be your main problem.
I would suggest starting off with a single category search, and go from there.
Sorry I can't be of much more help...
Case
• 2007/2008 MVP • 2008/2009 MVP • Certified • Licensing • Support • Development • Hosting •