Custom theorem numbering
An easy way is
\documentclass{article}
%\usepackage{amsthm} %% uncomment to see the difference
\newtheorem{innercustomthm}{Theorem}
\newenvironment{customthm}[1]
{\renewcommand\theinnercustomthm{#1}\innercustomthm}
{\endinnercustomthm}
\begin{document}
\begin{customthm}{8}\label{eight}
Every theorem must be numbered by hand.
\end{customthm}
Here is a reference to theorem~\ref{eight}.
\end{document}
You can also use the optional argument for attribution:
\begin{customthm}{99}[Somebody]\label{ninetynine}
Statement.
\end{customthm}
A more generic interface for defining several of these environments; this doesn't respect theorem styles; it could be adapted, though.
\documentclass{article}
\usepackage{amsthm}
\newtheorem{innercustomgeneric}{\customgenericname}
\providecommand{\customgenericname}{}
\newcommand{\newcustomtheorem}[2]{%
\newenvironment{#1}[1]
{%
\renewcommand\customgenericname{#2}%
\renewcommand\theinnercustomgeneric{##1}%
\innercustomgeneric
}
{\endinnercustomgeneric}
}
\newcustomtheorem{customthm}{Theorem}
\newcustomtheorem{customlemma}{Lemma}
\begin{document}
\begin{customthm}{8}\label{eight}
Every theorem must be numbered by hand.
\end{customthm}
Here is a reference to theorem~\ref{eight} and
one to the important lemma~\ref{life-universe-everything}
\begin{customlemma}{42}\label{life-universe-everything}
This lemma explains everything.
\end{customlemma}
\end{document}
You can just temporarily reset your theorem counter:
\documentclass{article}
\usepackage{amsthm}
\newtheorem{Theorem}{Theorem}
\makeatletter
\newenvironment{customTheorem}[1]
{\count@\c@Theorem
\global\c@Theorem#1 %
\global\advance\c@Theorem\m@ne
\Theorem}
{\endTheorem
\global\c@Theorem\count@}
\makeatother
\begin{document}
\begin{Theorem}
Dummy text
\end{Theorem}
\begin{customTheorem}{99}
Dummy text
\end{customTheorem}
\begin{Theorem}
Dummy text
\end{Theorem}
\end{document}