We used ICAM's post tool at the time post builder ['05] would not work for us. I would hope it is more advanced now, but principle should be the same.
We used first point as origin for modal macro
Next all motions with in macro were executed in incremental [G91 - mills] All main programs were in absolute [G90 mill].
At the end of each macro the post would close off macro, put controller back into absolute [G90] and restate current position in absolute to avoid machine loosing location especiall if a restart condition was involved.