jwatte:It's easier to just add an additional scale to the transform for the gizmo, where that scale is proportional to the distance from the camera.
ScaleFactor = Vector3.Dot((GizmoCenter - CameraCenter), CameraForward) * Q;
"Q" determines how big the gizmo actually becomes on the screen.
This is similar to what I initially thought of and I have done in my 2D only environment(using a 'Zoom' Factor instead of distance from camera), but then started thinking there might be a way to do it with the Matrix Transforms.
Thanks for both of your responses.
cheers,
:)