OK, here we go then. It is very similar to this answer except that I use \alph to convert the number into a,b... And I'd like to note that auto and swap have no effect in your code. They would have if you would not use markings to draw the circled letter.
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.pathreplacing,decorations.markings}
\newcounter{coordinateindex}
\begin{document}
\begin{tikzpicture}[>=stealth,initialize counter/.code={
\setcounter{coordinateindex}{0}
},
node at every point/.style={%
decoration={show path construction,
lineto code={%
\path [decoration={markings,
mark=at position 0 with {\fill circle [radius=1pt];},
mark=at position .5 with {\arrow{>};},
mark=at position .5 with {\stepcounter{coordinateindex}
\node[shape=circle,draw,inner sep=2pt] at (0,0.4)
{\alph{coordinateindex}};},
mark=at position 1 with {\fill circle [radius=1pt];},
}, decorate] (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast);
},
},
postaction=decorate
}
]
\draw [node at every point] (0,0) -- (1,2) -- (2.3,0) -- (2.5,1);
\end{tikzpicture}
\end{document}

If you want to use auto and swap, here's a suggestion.
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.pathreplacing,decorations.markings}
\newcounter{coordinateindex}
\begin{document}
\begin{tikzpicture}[>=stealth,initialize counter/.code={
\setcounter{coordinateindex}{0}
},
node at every point/.style={%
decoration={show path construction,
lineto code={%
\path [decoration={markings,
mark=at position 0 with {\fill circle [radius=1pt];},
mark=at position .5 with {\arrow{>};},
mark=at position 1 with {\fill circle [radius=1pt];},
}, decorate] (\tikzinputsegmentfirst) --
node[pos=0.5,auto,swap,shape=circle,draw,inner sep=2pt]
{\stepcounter{coordinateindex}\vphantom{bg}\alph{coordinateindex}} (\tikzinputsegmentlast);
},
},
postaction=decorate
}
]
\draw [node at every point] (0,0) -- (1,2) -- (2.3,0) -- (2.5,1);
\end{tikzpicture}
\end{document}

(I would probably drop the swap.)
And here is a way to feed in the elements of a text array. (Note that the first element of the array has index 0, which is why the counter gets stepped later than in the above codes.)
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.pathreplacing,decorations.markings}
\newcounter{coordinateindex}
\def\mytexts{{"koala","duck","marmot","mouse","moles","penguin"}}
\begin{document}
\begin{tikzpicture}[>=stealth,initialize counter/.code={
\setcounter{coordinateindex}{0}
},
node at every point/.style={%
decoration={show path construction,
lineto code={%
\path [decoration={markings,
mark=at position 0 with {\fill circle [radius=1pt];},
mark=at position .5 with {\arrow{>};},
mark=at position 1 with {\fill circle [radius=1pt];},
}, decorate] (\tikzinputsegmentfirst) --
node[midway,above,sloped]
{\pgfmathparse{\mytexts[\thecoordinateindex]}
\pgfmathresult
\stepcounter{coordinateindex}} (\tikzinputsegmentlast);
},
},
postaction=decorate
}
]
\draw [node at every point] (0,0) -- (1,2) -- (2.3,0) -- (2.5,1);
\end{tikzpicture}
\end{document}
