But coin cell batteries have a maximum pulse drain @ 15mA and continuous drain @ 0.19mA!? Example of CR2032
Coin cells are intended for low current, long life applications. Like keeping a RTC alive for years. Everything in a datasheet for them applies to that. The current capacity, the drain rate, the voltage, etc. A CR2032 has Typical Capacity of 240 mAh, from 3.0 to 2.0 volts, Rated at 15K ohms/0.19mA at 21°C, providing 1263 hours of life.
Change the load/current draw, and the life of the battery changes. That's all it means. At 85mA continuous, you will not get 240mAh. Notice the Pulse Drain Characteristics showing between 175 and 200mAh. Even if you did, the battery would still only last 3 hours, and be at 2V i.e. dead at that time.
And as the load increases, the battery experiences voltage droop. As noticed in the Pulse Characteristics, a 2 second drain at 100 ohm/~25mA leads to a 0.4V drop in voltage. It's internal resistance rises.
So YES, you can drive a CR2032 hard! But all of this needs to be considered for YOUR application. Is 2 hours good enough for you? Doubt it.
I wonder if there are any optimization techniques for circuits to get a better battery life? Or workarounds?
Yes, by choosing more efficient ICs. Is your ATMega code using low power modes whenever possible? Can you reduce your on time? Is it running at 16MHz (which is a problem if you are powering at <4V btw) or is it running at a lower speed like 8MHz or 4MHz? Could you run it at 1mHz without problem? That would save some power. Can you replace the shift registers with better ones with lower quiescent current draw?
Or coin batteries with the same specs as AAA batteries for instance?
Maybe, but likely really expensive. You could use a AAA form factor (10500 shape) LiPo batteries instead.