Automatic calibration of a zero cross detector latency
A calibration value can be automatically created if you consider using a spare analogue input on the PIC. Connect this input to a potted-down and biased version of the AC and let the PIC process mean and peak levels in order to determine a reference zero cross point. 

Then let your firmware make an estimate of the delay and use this as a calibration value for the opto-coupler. This would be a one-ff test and probably it would be sensible to use an AC isolating transformer because the resistive divider doesn't isolate.

Alternatively, you could "rewire" the opto temporarily and "hit" it with a PIC digital output onto the LED. Then your firmware can measure the time delay.