millis() is just a 'hidden' function that uses the timer0 overflow interrupt to increment a counter (timer0_millis). You can start and stop the counting by enabling/disabling the interrupt {TIMSK0 = 1;}/{TIMSK0 = 0;} and resetting timer0_millis any time you want. Just bear in mind all the other 'hidden' functions that use this value.