Non so se e come con l'euro sia stata aggiornata la norma, ma i negozianti non potevano rifiutare il pagamento in contanti (cioè monete o banconote di qualsivoglia taglio) fino a mi pare 300 Mila lire... oltre avevano la facoltà di chiedere il pagamento tramite altri mezzi.
Questo ovviamente per cifre alte, per quanto riguarda il tuo caso specifico, non possono rifiutarsi tecnicamente di accettare il pagamento, ma nessuno li obbliga a tenere in cassa moneta suff. a darti il resto (non è l'esercente ad essere tenuto a darti il resto ma tu acquirente ad avere l'importo esatto o quasi), quindi il loro provvedimento (giustificato dal fatto che per motivi di sicurezza non vogliono tenere più di tot contante alla volta in cassa), è più che valido.
Piccola nota personale: prova a presentarti all'estero con una banconota da 200€ per pagare il conto di pochi euro e vedi cosa ti dicono... quello di non andare in giro con la moneta "contata" è un malcostume tipicamente Italiano...
Nei paesi anglo sassoni per esempio, sugli autobus, puoi fare il biglietto a bordo solo se hai esattamente l'importo dovuto... se hai anche 10 centesimi in più non te lo fanno, e non sono autorizzati ad accettar somme superiori...