1 Angle mark drawn between two circles
In this section, I'm only trying here to faithfully reproduce what was asked in the question. This is a drawing; it is quite accurate, but the figure is not necessarily interesting from a mathematical point of view. The arc angle, i.e. the (arc length)/(arc radius) ratio corresponding to the red angle mark depends on the chosen radius (i.e., on where on the circles one decides to place points A1 and A2—see below). Therefore, it is probably not a great idea to call this an “angle between two circles.” (question title). See sections 2 and 3 below, and other answers like Schrödinger's cat's one for different interpretations of the question, where the chosen angle only depends on the circles.
\documentclass[tikz, border=2mm]{standalone} \usetikzlibrary{backgrounds, calc, intersections, positioning} \begin{document} \begin{tikzpicture}[font=\small, my circle radius/.initial=2.5cm] \coordinate (O1) at (2,3); \coordinate (O2) at (6,3); \begin{scope}[nodes={circle, draw, inner sep=0, minimum width=2*\pgfkeysvalueof{/tikz/my circle radius}}] \node (C1) at (O1) {}; \node (C2) at (O2) {}; \end{scope} \path[name path=C1border] (O1) circle[radius=\pgfkeysvalueof{/tikz/my circle radius}]; \path[name path=C2border] (O2) circle[radius=\pgfkeysvalueof{/tikz/my circle radius}]; \coordinate (M1) at (tangent cs:node=C1, point={(O2)}, solution=1); \coordinate (M2) at (tangent cs:node=C2, point={(O1)}, solution=2); \path[name path=p1] (M1) -- (O2); \path[name path=p2] (M2) -- (O1); \path[name intersections={of=p1 and p2}] (intersection-1) coordinate (M); \draw (M) edge ($(M1)!-2.5!(M)$) edge ($(M2)!-2.5!(M)$); \draw[red] (O1) -- (O2) -- (M) -- cycle; \begin{scope}[fill=black, every circle/.style={radius=1pt}] \fill (O1) circle node[below left] {$\mathcal{C}_{1}$}; \fill (O2) circle node[below right] {$\mathcal{C}_{2}$}; \fill (M1) circle node[inner sep=0, xshift=0.3ex, above=0.8ex] {$M_1$}; \fill (M2) circle node[inner sep=0, xshift=-0.3ex, above=0.8ex] {$M_2$}; \end{scope} \coordinate (A1) at (C1.30); \coordinate (A2) at (C2.150); \path[name intersections={of=C1border and C2border}] (intersection-1) coordinate (X); \begin{scope}[on background layer] \draw[red] let \p1=($(A1)-(X)$), \p2=($(A2)-(X)$), \n1={atan2(\y1,\x1)}, \n2={atan2(\y2,\x2)}, \n3={veclen(\p1)} in (A2) arc[start angle=\n2, end angle=\n1, radius=\n3] node[red, midway, inner sep=0, below=0.3ex] {$\theta$}; \end{scope} \end{tikzpicture} \end{document}

If you want a larger angle mark radius, simply move points A1 and A2. For instance, with:
\coordinate (A1) at (C1.15); \coordinate (A2) at (C2.165);
one obtains:

Note: 15 and 165 are polar angles for points A1 and A2 on each on the respective circles (they are border anchors of circle nodes).
2 Angle between two tangents (a)
The blue angle drawn in this section only depends on the circles.
\documentclass[tikz, border=2mm]{standalone} \usetikzlibrary{angles, intersections, quotes} \begin{document} \begin{tikzpicture}[font=\small, my circle radius/.initial=2.5cm] \coordinate (O1) at (2,3); \coordinate (O2) at (6,3); \begin{scope}[nodes={circle, draw, inner sep=0, minimum width=2*\pgfkeysvalueof{/tikz/my circle radius}}] \node (C1) at (O1) {}; \node (C2) at (O2) {}; \end{scope} \path[name path=C1border] (O1) circle[radius=\pgfkeysvalueof{/tikz/my circle radius}]; \path[name path=C2border] (O2) circle[radius=\pgfkeysvalueof{/tikz/my circle radius}]; \begin{scope}[fill=black, every circle/.style={radius=1pt}] \fill (O1) circle node[below left] {$\mathcal{C}_{1}$}; \fill (O2) circle node[below right] {$\mathcal{C}_{2}$}; \end{scope} \path[name intersections={of=C1border and C2border}] (intersection-1) coordinate (X); \draw[dashed] (O1) -- (X) -- (O2); \path (O1) -- (X) -- ([turn]-90:3cm) coordinate (B2); \path (O2) -- (X) -- ([turn]90:3cm) coordinate (B1); \draw[blue] (B1) -- (X) -- (B2); \pic["$\theta$" color=blue, draw=blue, angle radius=0.25cm, angle eccentricity=1.8] {angle=B1--X--B2}; \end{tikzpicture} \end{document}

The same with angle radius=0.6cm:

3 Angle between two tangents (b)
The red angle drawn in this section only depends on the circles.
\documentclass[tikz, border=2mm]{standalone} \usetikzlibrary{angles, calc, intersections, positioning, quotes} \begin{document} \begin{tikzpicture}[font=\small] \coordinate (O1) at (2,3); \coordinate (O2) at (6,3); \begin{scope}[nodes={circle, draw, inner sep=0, minimum width=2*2.5cm}] \node (C1) at (O1) {}; \node (C2) at (O2) {}; \end{scope} \coordinate (M1) at (tangent cs:node=C1, point={(O2)}, solution=1); \coordinate (M2) at (tangent cs:node=C2, point={(O1)}, solution=2); \path[name path=p1] (M1) -- (O2); \path[name path=p2] (M2) -- (O1); \path[name intersections={of=p1 and p2}] (intersection-1) coordinate (M); \draw (M) edge ($(M1)!-2.5!(M)$) edge ($(M2)!-2.5!(M)$); \draw[red] (O1) -- (O2) -- (M) -- cycle; \begin{scope}[fill=black, every circle/.style={radius=1pt}] \fill (O1) circle node[below left] {$\mathcal{C}_{1}$}; \fill (O2) circle node[below right] {$\mathcal{C}_{2}$}; \fill (M1) circle node[inner sep=0, xshift=0.3ex, above=0.8ex] {$M_1$}; \fill (M2) circle node[inner sep=0, xshift=-0.3ex, above=0.8ex] {$M_2$}; \end{scope} \pic["$\theta$" color=red, draw=red, angle radius=0.25cm, angle eccentricity=1.8] {angle=O1--M--O2}; \end{tikzpicture} \end{document}

\thetaangle be between two sides of the red triangle? This would sound reasonable, but it not clear from your drawing.