If you want to use the knee for tool length compensation the tool length would simply need to be passed to the knee axis to move it up or down by that amount BEFORE a tool is actually changed so you have room for it at your normal tool change Z height. Then the program sees all tools as the same length.
You'd probably want to compare the two offsets, and only move if the new tool is longer, as you don't really want the knee cranking up for some short tool after running some long tool, before you've changed the tool.
Slowly making sense, thanks 
So in the code all tool length compensation would be turned off and I would likely be editing the M6 Start ??
That's actually a good question.
You still need to use tool length compensation, and use the tool lengths in the tool table to move the knee, but how does Mach handle that?
Not using compensation would work, if you know the knee will move to Z in the right position.
Other option is can mach combine the position of the knee, with the quill?