No not that Im aware of, unless you can employ a manual reset of the Arduino, but im not even sure if that will reset the millis function. Of course, the maximum number is known, so if the second number is smaller than the first, you could still calculate the delay. Or take care of it if youre running out of millis().
But it will eventually rollover yes. 50 days is not enough for your intentions?
EDIT: Its 49 days
. But look here, I think youre answer might be in it: http://www.cmiyc.com/blog/2012/07/16/arduino-how-do-you-reset-millis/
Important question is whether you really need a 'date' type of time keeping, or a general delay which can be kept with millis(). So, simply time passed, or the actual day/month etc as well?