One point that seems to be forgotten is that the internal oscillator is factory calibrated only to an accuracy of +/- 1%, which amounts to about +/- 14 minutes over the course of a day. You may try to improve this by modifying the contents of OSSCAL, but I'm not sure what resolution can be obtained using the OSSCal register. I think in order to obtain better accuracy it will be necessary to tune the program by trial and error by varying the nominal time delay from 86400 seconds. The frequency of the internal oscillator will still vary with changing temperature, and an external crystal will be more stable. Of course, the crystal will takeup two pins of an already limited resource. Crystals typically have a stated accuracy of 50 ppm so it may be necessary to tune the program even when using a crystal.