Calculating Milliseconds using timers in PIC and synchronizing it with DS1307 timing
I would suggest that your idea for millisecond resolution is somewhat unrealistic as the time it takes to read the HH:MM:SS out of the RTC chip at typical I2C data rates will have time latency variation greater than a millisecond. 

Reporting millisecond resolution is also debatable when your reporting medium is a UART serial port operating at a bit rate that is slower than a millisecond per bit.

I encourage you to instead take your custom circuit board and unsolder the DS1307 chip and replace it with a pinout compatible M41T81S chip from ST Micro. (Package compatible too if you have deployed the SO-8 type device).

This latter device conveniently contains an additional time keeping register that provides you with tenths and hundredths of seconds resolution counts. Reading out HH:MM:SS.ss is compatible with the net 10msec resolution. 

The M41T81S also has a very nice calibration feature that allows the internal timekeeping functions to be adjusted to trim for minor frequency variations of the RTC 32.768kHz crystal. I have a prototype unit here that has this chip used in it that once calibrated has been continuing to display the correct time (within a few seconds) for nearly a year already. I doubt that you can achieve that with your DS1307 unless you have designed its XTAL circuit with trimming capabilities.