How can you count the number of interrupts that have taken place?
Yes, just add a check inside your ISR statement.

ISR(TIMER0_OVF_vect)
{
  static uint8_t postscale = 0;
  if (++postscale == 81) 
  {
    postscale = 0;
    do_stuff();
  }
  else
  {
    go_to_sleep();
  }
}


You always have to enter the ISR method once you're done with the interrupt so just add that if statement and use a static variable (so that it keeps its value) to check if you have made the correct number of loops.