I've been doing something similar to what @jwatte has been doing. Most of my work consists of a big Windows program that generates gCode. The gCode generated, though, consists essentially entirely of calls to subroutines, so the calling code can be edited to make the sort of changes that you seem to be interested in.
The attached zip file includes an example. Through a series of interactions, I told the Windows program that I wanted to round two of the corners of a 2" x 2" x 1" slab of 6061, and that then I wanted to shave 0.2" from the left 1" of its top surface. I had to tell the Windows program what tool I wanted to use, I had to choose feeds & speeds, and so on. The code it generated (round NE & SE. . .ncc) captures all of those choices, but the subroutines do all the work. Looked at from the other direction, the subroutines don't start off knowing how big the slab is, what sort of DOC I want to use, the OD of the tool, and so on, so most of their code is spent in figuring out how to do their jobs.
The resulting good news is that all of the job specifications are in the (relatively) reader-friendly calling program. If I wanted to do the same job on a 2" x 3" x 1" slab, and at the same time improve the finish by reducing the stepover to 0.35, all I'd need to do to the calling program is to change the lines
Code:
#<_XRight> = 2
. . .
#<_StepOverFraction> = 0.4
to
Code:
#<_XRight> = 3
. . .
#<_StepOverFraction> = 0.35
(of course, the timing estimates that the Windows program generates as comments would no longer be correct).
My Windows program depends on a database infrastructure (Sybase's Advantage) that is free, but something of a fiddly PITA to install. With that warning I'm happy to share all of this stuff with anyone who wants it.
You might also have some use for the gCode.exe program that I've thrown into the zip file. It is a gCode grammar-checker, more helpful than PathPilot's ill-localized diagnostics.