Wouldn't that be the job of your controller? I know on our Trak LPM, we pick up one tool to set the height of the rest (assuming that you have already entered the tool lengths in the tool table). That sounds like what you are trying to do. Not all machines work that way. On our Fadals for example, we need to call up the tool offset in the code.
(or did I miss the point completely??)