Q:

How to braid a character around other characters

What I want to do is braiding one (or more) letters around one (or more) letters. It should be possible to use it in math as in text mode.
This is what I have in mind:
 
But so far nothing worked.
I tried it with:
%braiding
\makeatletter
\newlength\@SizeOfCirc%
\newcommand{\CricArrowRight}[1]{%
  \setlength{\@SizeOfCirc}{\maxof{\widthof{#1}}{\heightof{#1}}}%
  \tikz [x=1.0ex,y=-1.0ex,line width=0.15ex, draw=black]%
  \draw [->,anchor=center]%
    node (0,0) {#1}%
    (0,1.2\@SizeOfCirc) arc (85:-240:1.2\@SizeOfCirc);%
}%
\makeatother

but the problem its not (horizontally) centered.

A:

While this is something of a hack, it may suffice.  I introduce the syntax \braid[horizontal-scale]{pointed quantity}{circled quantity}.  In the MwE, I set it all in a TABstack, so that I could set the stacked equation provided by the OP.
The arrow is just a \circlearrowright from the amssymb package, which has been overlaid with a white box to make room for the working quantities.  The quantities are inset upon a stretched version of the circle-arrow (default stretch = 3), in \scriptstyle, so as to not grow the size of the thing too greatly.
\documentclass{article}
\usepackage{amssymb,graphicx,xcolor,tabstackengine}
\newcommand\circcore[1][3]{\scalebox{#1}[3]{\kern-0.5pt\rotatebox[origin=center]{120}{%
  \raisebox{-3.5pt}{\stackinset{c}{1.8pt}{t}{0pt}{\textcolor{white}{%
  \rule{3pt}{2pt}}}{$\circlearrowright$}}}}}
\newcommand\braid[3][3]{%
  \stackinset{c}{#1\dimexpr-3.5pt\relax}{c}{1pt}{$\scriptstyle#2\strut$}{%
  \stackinset{r}{#1\dimexpr2.7pt\relax}{c}{1pt}{$\scriptstyle#3\strut$}{%
  \circcore[#1]}}}
\TABstackMath
\begin{document}
\[
\tabbedShortstack{
\braid[5]{\gamma_1}{\gamma_2\times\alpha} ={}& \braid{\gamma_1}{\gamma_2}&
  \braid{\gamma_1}{\alpha} &{}= 1\\
&=1 &=1&\\
\braid[5]{\gamma_2\times\alpha}{\gamma_1} ={}& \braid{\gamma_2}{\gamma_1}&
  \braid{\alpha}{\gamma_1} &{}= 1\\
}
\]
\end{document}

