I also found delayMicroseconds() - http://www.arduino.cc/en/Reference/DelayMicroseconds .
That should allow for fine tuning of the clock.
I have the current clock script accurate to about 1 second per hour.
Does millis() start over every time the loop cycles? Or does it continue counting from when the loop starts the first time?