What you need is some custom CAM software.
It looks to me like you have X, Y, and Z, with Y and Z the tools, like Stirling said.
What I'd do, is draw my roughing and finishing paths in AutoCAD, and choose an X axis resolution, maybe .002-.005", maybe bigger?
Then parse through the paths, and put the Y and Z values into arrays.
Then, for X = 1 to however many steps needed,
Y= Y(X)
Z = Z(X- tool spacing)
So you'd end up with a series of X,Y,Z moves, with X incrementing by the chosen resolution amount for each line of g-code.
Seems like it should work.