As noted in this threadthis thread, 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, 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.