I'm looking for a general (hopefully computationally efficient) algorithm for the problem in the title, given the centers and radii of the circles in question. If it matters, I am always looking for the internal common tangent for which the absolute value of the slope is the greatest.
I have found descriptions of techniques to find other specific parameters of tangents, such as the length, and I know I could derive my answers by using them, but my (admittedly suspect) intuition keeps me thinking that there's a better way.
Suppose the circles have radii $a$ and $b$, and the distance between their centers is $d$. Then the tangents make an angle $\theta$ with the line between the centers, where $\sin\theta = (a+b)/d$.
Suppose the line between the centers makes an angle $\phi$ with the $x$-axis. Then the angle you want is $\phi \pm \theta$.