If you have a choice as to whether to accept something as payment for a debt, that is by definition no longer legal tender.
AIUI generaly cash transactions in a store do not involve a debt to the store and therefore legal tender is not directly relevant.
Yes, exactly. You must take possession, or consume, a good or service before paying to incur a debt, and only then does the distinction of legal tender come into play.
Say you are buying a sandwich at some place like Subway. You don't take possession of the goods until after you have handed over your money (even though you might be holding it in your hands), so there is never any debt, so they are free to refuse $100 bills (which a lot of shops did before the 100 was updated to the 2001 "Canadian Journey" series).
Now in a restaurant where you sit down and eat before paying, there a debt is incurred, and they cannot refuse legal tender without absolving you of your debt. Note however that the law does not obligate them to make change!