As noted in [this thread](http://mathematica.stackexchange.com/q/10957), it's often more convenient to manipulate B-splines instead of lines.
Thus, using the B-spline representation derived by Piegl and Tiller in [this article](http://dx.doi.org/10.1109/38.35537), we have the following routine:
greatCircle[φ_, θ_, r_: 1] := BSplineCurve[
Composition[RotationTransform[θ, {0, 0, 1}], RotationTransform[-φ, {0, 1, 0}]] /@
(r {{1, 0, 0}, {1, 1, 0}, {-1, 1, 0}, {-1, 0, 0}, {-1, -1, 0}, {1, -1, 0}, {1, 0, 0}}),
SplineDegree -> 2, SplineKnots -> {0, 0, 0, 1/4, 1/2, 1/2, 3/4, 1, 1, 1},
SplineWeights -> {1, 1/2, 1/2, 1, 1/2, 1/2, 1}]
Try it out:
With[{ε = 1*^-3 (* shrinks sphere slightly *), φ = 30° (* inclination *)},
Graphics3D[{{Opacity[2/5, Blue], Sphere[{0, 0, 0}, 1 - ε]},
{Directive[AbsoluteThickness[3], Red], greatCircle[φ, 0]}},
Lighting -> "Neutral"]]

Spin things around a bit:
With[{ε = 10^-3, φ = 30°},
Animate[Graphics3D[{{Opacity[2/5, Blue], Sphere[{0, 0, 0}, 1 - ε]},
{Directive[AbsoluteThickness[3], Red], greatCircle[φ, θ]}},
Lighting -> "Neutral", SphericalRegion -> True],
{θ, 0, 360°, 15°}]]

Adding the fancy stuff (e.g. arrows and planes) is left to you as an exercise.