Hi Chad,
First off, you're right to be thinking about adding product attributes for the size, colour, etc. You should definitely do this.
I wouldn't recommend tags unless there's a strong reason to use them. Tags can be of genuine use on a blog, by providing users a way to navigate a group of related posts, without the blog author having to devote a whole category to it. But eCommerce sites, depending on their size, can already have a pretty difficult time with duplicate content, and it's hard to see how tags would improve the user experience more than tightly-focused subcategories.
If you have a category called "beds", for example, it makes more sense for "double beds" to be a subcategory within that, than to be its own tag. WooCommerce does support nested subcategories, which should allow you to get pretty granular if needs be. You can make use of breadcrumb navigation this way as well.
Finally, on the subject of product attributes again, note that WooCommerce adds attribute filters to the URL as a parameter. So if searched for double beds on your site, the URL would resemble the following:
yoursite.com/beds/double-beds/?min_price=250&max_price=600
You should make sure you've got rel=canonical in place. Also, given that your client is a search engine, I imagine they'll have quite a lot of product pages. To help Google use their crawl budget efficiently, you might add some lines like the following to the robots.txt file, so Googlebot doesn't try to crawl any commonly-used parameters:
Disallow: ?min_price=
Disallow: ?max_price=