You can use the fancyvrb
package that offers many other customizations (you can also check the fvextra
package that adds many features).
\documentclass{article}
\usepackage{fancyvrb}
\RecustomVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\footnotesize}
\begin{document}
This is inline \verb|verbatim|, the size doesn't change.
But it can be changed when we are in a \verb|verbatim|
enviroment
\begin{verbatim}
This is inline \verb|verbatim|, the size doesn't change.
But it can be changed when we are in a \verb|Verbatim|
enviroment
\end{verbatim}
Isn't it nice?
\end{document}

In order to change the size of the monospaced font, there is a “nasty” trick. Modify the value in the definition of \ttscale
to suit your need.
\documentclass{article}
\newcommand{\ttscale}{s*[0.9]}
\DeclareFontFamily{OT1}{cmtt}{\hyphenchar\font -1 }
\DeclareFontShape{OT1}{cmtt}{m}{n}{
<-9> \ttscale cmtt8
<9-10> \ttscale cmtt9
<10-12>\ttscale cmtt10
<12-> \ttscale cmtt12
}{}
\DeclareFontShape{OT1}{cmtt}{m}{it}{
<-> \ttscale cmitt10
}{}
\DeclareFontShape{OT1}{cmtt}{m}{sl}{
<-> \ttscale cmsltt10
}{}
\DeclareFontShape{OT1}{cmtt}{m}{sc}{
<-> \ttscale cmtcsc10
}{}
\DeclareFontShape{OT1}{cmtt}{m}{ui}
{<->ssub*cmtt/m/it}{}
\DeclareFontShape{OT1}{cmtt}{bx}{n}
{<->ssub*cmtt/m/n}{}
\DeclareFontShape{OT1}{cmtt}{bx}{it}
{<->ssub*cmtt/m/it}{}
\DeclareFontShape{OT1}{cmtt}{bx}{ui}
{<->ssub*cmtt/m/it}{}
\begin{document}
ABC \texttt{ABC}
\Large ABC \texttt{ABC}
\end{document}

Compare with the original:
