Hi JHFA. Welcome to the forum
Your best bet for this would be Drupal. Its an open source CMS. The Cart module which you plug-in is called Ubercart and it offers complete etail functionality with numerous payment gateway options. You get a product content type with whats called a class. A class could be likened to a department where you can assign products to each one. Also you can add attributes to each product like shirt size etc. You could use that option to cover your requirement of canvas vs. unstreched; framed vs no frame; size etc
Drupal is a monster. Its a Content Management Framework which you theme up to eventually become a CMS. Its like swimming through treacle at times.
Once you have taken time to learn what its about (This will take time. I promise you) and spent enough time with it you could make a fantastic site.
Download Drupal here >http://drupal.org
Examples of what's possible > http://www.drupalsites.net
I use Drupal every day.
Contact me if you would like a primer. My primer could shave about 3 months off the learning curve