Everything on that list can be achieved with Drupal with little programming depending on how particular you are by just moving things around in the GUI and installing some contributed modules. The only thing that will be painful is modifying the default HTML generated by contributed modules. Though I'm not really a fan of eCommerce packages out there for Drupal. if you use something like modx you will pretty much be building most things from scratch using a "template language". Unless there is a modx store and feed parser which I'm unaware.
If you decide to checkout Drupal you will want the core Drupal 7 and these modules: views, panels, ctools. There are many many more available but those are the main ones that come to mind inline with what you want to achieve. Than you can try installing ubercart which is contributed module that provides an eCommerce solution for Drupal. I haven't taken a look at the Drupal 7 version if it is even finished but I wasn't really impressed by 6. There might be others but I haven't done any direct work with Drupal eCommerce just heard about around the water cooler.
The learning curve for Drupal though is quite large… not for the faint of heart. once you understand it though and can accept its failures on behalf of its strengths it is a very powerful solution out of the box and magnificent with the right combination of contributed modules. That is before any programming on the developer/designers end either.
I kinda sounds like a Drupal fanboy and for that I think I might slit my throat but I am not. Just have to work with it a lot at work and have come to embrace its many strengths over failures. I mainly deal with Drupal 6 to Drupal 7 is a much more powerful platform out of the box.