There are utilities on the web to optimize G-code. I haven't tried them on actual cutting, but they seem to work when viewed from a simulator. I had an issue with the code produced for my indexer, the roughing pass would traverse the entire length of the turning and if the depth of cut was the same as the last path, it would skim over the area. I think it should have done a rapid past this section as no further cutting was necessary. I wrote a windows program to alter the g-code to skip these areas. The original code was 176k lines, my updated code is 56k lines, resulting in substantial time savings. I think the way to achieve this in vectric programs is to isolate cuts with vector boundaries and change the machining limit boundary to selected vector. Also, isn't there a use vector section order option? I think this would force it to create the paths you want.
CAMaster Stinger 1
Shopbot PRT 9648