AVR Frequency measurement accuracy
Updating a register or register set inside an interrupt before any other processing will be extremely deterministic. I don't know why that can't be accurate.

In fact, I dare say that accuracy can be significantly higher than the +/-10% RC oscillator accuracy in an old Atmel type as the ATMega16. Unless you mean "I do have a well tuned crystal with the proper loading capacitors" when you say NO external circuitry.

You can claim registers in Atmel Studio (AVR-GCC) by using the keywords, if I'm not mistaken;

volatile register MyRegister asm("R22"); // to claim R22 with name MyRegister

But claiming registers like that is risky business, and even the RAM overhead of just making a volatile global if that gets put into RAM is a static overhead, which becomes, again, fully deterministic at start of ISR.