LVDS: length matching within a pair and between pairs
Trace length equalization for a differential pair is not determined by setup/hold timing. It is determined by having a crossover point of eye diagram in right place, to keep it in the middle. The allowable timing skew therefore depends on reasonable slew rate of signal edges.

As I understand, the camera max frequency is 720 mbps, or 1380 ps of unit interval. Therefore the edge rate can be about 400 ps, so 100 ps difference wouldn't make much of a shift in eye crossover position. And the 100ps would be equal to 15-20 mm in trace length difference, which is huge. So the diff. pair length equalization to 2-3mm is not an issue.

Regarding the parallel channels and IOBUF programmable delay, I believe Xilinx has it in 15ps-something granularity (x256), so almost any reasonable trace difference can be tuned up and corrected in RTL.