For all of the hand wringing associated with retailer stores being open on holidays they are open for one reason. That reason is that it is profitable to be open on those days. Customers drive whether a store is open on any particular day. If the general populous would not shop on holidays, then the stores would not be open.
There are already stores that stay open on national holidays. I think it's more a question of whether or not it would be cost effective for stores to be open. Not a matter of whether or not they should be allowed to. It's also a matter of how well they want to treat their employees.
Public holidays are there for family time. When the stores open too many worker miss family gatherings to ensure you can buy that new TV or top you've been wanting. Surely you can wait an extra day and let these people have the same opportunity to rest that you do.
Everyone likes a bargain and with today's market and instant gratification ideology, many stores stay open during national holidays. However, the trend is turning around and more stores are choosing to opt out of staying open on the holidays in order to give their employees time with their families and to help generate a greater desire for deals for when they open the following day.