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"]]
![sphere and great circle](https://i.sstatic.net/2SUJH.png)

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°}]]
![rotating sphere and great circle](https://i.sstatic.net/VxRry.gif)

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