Using Empty Object Coords for shading (Multiply Vector by Matrix)
The solution was to multiply the Vector by the empty object's Matrix. I built this group with some help and a lot of trial and error. The values are driven by the Matrix World of the Empty from the Data API. I'm not sure I have the component nodes of the matrix laid out properly or not, but this is working.