Instead of setting the counter to 100, I would start by adding -1 after the special section so that it works after moving around (it may end up as 75a after all).
You can simply re-define \thesection which seems to be setup as \arabic{section}.
If you re-define it with
\renewcommand*{\thesection}{\arabic{section}a}
you get an a after the number. To be independent of the \arabic part (it could be also Roman numbering), you can do
\expandafter\def\expandafter\thesection\expandafter{\thesection a}
or with etoolbox
\appto\thesection{a}
Doing this in a group saves you from restoring the initial value (which may also be done with a few \lets).
A command that works with all counters can be defined as
\newcommand*{\addToTheCounter}[2]{%
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\def
\expandafter\expandafter\expandafter\csname the#1%
\expandafter\expandafter\expandafter\endcsname
\expandafter\expandafter\expandafter{\csname the#1\endcsname#2}}
or with etoolbox
\newcommand*{\addToTheCounter}[2]{\csappto{the#1}{#2}}
Code
\documentclass{article}
\usepackage{lipsum,hyperref,etoolbox}
\newcommand*{\addToTheCounter}[2]{%
\csappto{the#1}{#2}%
\csappto{theH#1}{#2}} % for hyperref
\begin{document}
\tableofcontents
\setcounter{section}{8}
\section{9}
\lipsum[2]
{
\addToTheCounter{section}{a}
\section{10a}\label{weird}
} \addtocounter{section}{-1}
\lipsum[2]
\section{10}\label{weird2}
\lipsum[2]
see \ref{weird} and \ref{weird2}
\section{11}
\lipsum[2]
\end{document}
Output

hyperrefas well? What\documentclassare you using? – Werner Aug 20 '13 at 02:04