Daniel,
I don't know why I didn't think of this before, but I have done a few jobs which required me to use my mill as a vertical CNC lathe. I had many tools on the table, some clamped in the vise, others mounted elsewhere on the table.
Rather than using a M06 T## to change between tools, I flipped everything around. I used work offsets to give the machine the X,Y,Z coordinates of the 0,0 location on every tool, then I used the tool offsets to handle my different lengths of stock (held in tool holders).
This is a little backwards, but the functionality is exactly what you need to handle your tool changes.