Is there a way to treat variants in a similar way as products? I'm trying to figure out if there's a way to either treat product variants as ww.site.com/product/variant or pass variables from a variant list (for example thumbnails that click to product and passes along variables for the layout of that page). Any takers?

I'm assuming it would be better to create a category > sub-category > product. Just would be great to have the same product information but be able to point to .com/pillow/green whilst returning the same basic product information.
Put simply, if you define the url for your product type as, say,

products/{categories.first().slug}/{slug}

...then if you visit this url (products/pillows/my-pretty-pillow) you would perhaps loop through and show all variants.

When they hit a url like products/pillows/my-pretty-pillow/green (to make this url work you'd need to define a route to point at the same template I think -> products/pillows/*/*)

....then you can simple look at craft.request.getSegment(4) and use that to determine which specific variant to show at that url.

(This is  much the same question actually:
How do I select a specific product variant by element/field/entry?)