There can be a couple or so ways to do it. First, you can simply use a debit or credit card.
Or, the store may issue an in-house card for just “cents on the dollar” - and you get it for either $1 or $2 (loaded on the card) and then you just subtract it off the card as you make purchases. Eventually you reload it again.
Or the store can simply issue you a receipt with a scan code on it (stores already do this to “recall” purchases in their system on your receipts). The receipt issued to you is simply the odd-cents-change from some purchase you overpaid by a few pennies. The “overpayment” is contained on the receipt and you bring it the next time and submit it to the machine (or cashier) to use it.
Any one of those ways would be easy enough to do and use so that stores would not have to be concerned about the odd cents on totals for purchases.
From a marketing perspective, that would be pretty good, as it would encourage folk to come back. They'd probably be sneaky and put an expiration date on them though, so folk wouldn't save up craploads of receipts, then bring them all in some day and pay for their purchases with the receipts (which would consume a lot of the cashier's time, and probably piss off customers behind.)
Using a credit card or debit card reduces the need for any currency in the future. I guess one can use checks.
As to the store creating an in store card etc, that only creates more paperwork and keeping track of pennies. Seems like a waste of time and money for the store owner to save the customer their pennies. The one or two minutes it takes the cashier to work the credit does add up in salary.