В дополнение к вращению камеры вокруг этой векторной точки вы также можете использовать ее в качестве цели, на которую смотрит камера.Тогда вам нужно всего лишь изменить положение камеры вокруг этой точки.Похоже, что вектор для создания камеры всегда будет оставаться неизменным.Вы упоминаете ось Z, но XNA - это система Y-up, поэтому из вашего изображения вы будете выполнять вращения вокруг оси Y.
Vector3 pivotPoint = new Vector3(?, ?, ?);
cameraPosition = Vector3.Transform(cameraPosition - pivotPoint, Matrix.CreateRotationY(anglePerFrame)) + pivotPoint;
View = Matrix.CreatLookAt(cameraPosition, pivotPoint, Vector3.Up);
Matrix billboardWorld = Matrix.Identity;
billBoardWorld.Forward = Vector3.Normalize(cameraPosition - pivotPoint);
billboardWorld.Right = Vector3.Normalize(Vector3.Cross(billboardWorld.Forward, Vector3.Up));
billboardWorld.Translation = cameraPosition - (billboardWorld.Backwards * distFromCamera);