IMHO, in general you did a great job. Did you get the name of the "Walmart employee" (did he show you ID?) so that you could check and see if he had the authority to make this the policy of the store?
If he did, then it would seem they have the right to establish a no open carry zone in their property. They should probably post signs at the entrances to limit the inconvenience to customers.