Just remove $ where unneeded (that is, almost everywhere).
\documentclass{article}
\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage[format=plain,
labelformat=simple,
font={small,sf,bf},
indention=0cm,
labelsep=period,
justification=centering,
singlelinecheck=true,
tableposition=top,
figureposition=bottom,
]{caption}
\makeatletter
\appto\@floatboxreset{%
\ifx\@captype\andy@table
\ttfamily
\fi
}
\def\andy@table{table}
\makeatother
\begin{document}
Blah blah. Should be a serif font.
\begin{table}
\centering
\caption{My title}\label{m123}
% fix the overfull
\small\addtolength{\tabcolsep}{-2pt}
\begin{tabular}{ l c c c }
\hline
& treat x time & treat x time x female & treat x time x female \\
\hline
(Intercept) & -0.03 & 0.01 & -0.83$^{*}$ \\
& [-0.16; 0.10] & [-0.13; 0.15] & [-0.93; -0.73] \\
v1 & -0.06 & -0.06 & -0.07 \\
& [-0.23; 0.11] & [-0.23; 0.11] & [-0.18; 0.05] \\
v2 & 0.05 & -0.03 & \\
& [-0.04; 0.15] & [-0.16; 0.11] & \\
\hline
\multicolumn{4}{l}{%
\scriptsize $^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.%
}
\end{tabular}
\end{table}
Blah blah. Should be a serif font.
\end{document}

Some further notes.
Place the \label next to the object it refers to, in this case the \caption
\scriptsize does not take an argument.
Don't use center in a table environment, but \centering.
If you don't want to touch the table as generated by the external program, it's a bit more difficult.
\documentclass{article}
\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage[format=plain,
labelformat=simple,
font={small,sf,bf},
indention=0cm,
labelsep=period,
justification=centering,
singlelinecheck=true,
tableposition=top,
figureposition=bottom]{caption}
\makeatletter
\appto\@floatboxreset{%
\ifx\@captype\andy@table
\ttfamily
\everymath{\fam=\group@mathtt\relax\andy@changemathcodes}%
\fi
}
\def\andy@table{table}
\let\andy@space\ %
\AtBeginDocument{%
\check@mathfonts
\sbox\z@{$\mathtt{\xdef\group@mathtt{\gdef\noexpand\group@mathtt{\the\fam}}\group@mathtt}$}%
\def\andy@changemathcodes{%
\count@="2\group@mathtt00 \advance\count@`-\mathcode`-=\count@
\count@="4\group@mathtt00 \advance\count@`[\mathcode`[=\count@
\count@="5\group@mathtt00 \advance\count@`]\mathcode`]=\count@
\count@="0\group@mathtt00 \advance\count@`;\mathcode`;=\count@
\def\ {\mathopen{\andy@space}}%
}%
}
\makeatother
\begin{document}
Blah blah. Should be a serif font; here's math: $a+b$
\begin{table}
\centering
\caption{With dollars}
% fix the overfull
\small\addtolength{\tabcolsep}{-2pt}
\begin{tabular}{ l c c c }
\hline
& treat x time & treat x time x female & treat x time x female \\
\hline
(Intercept) & $-0.03$ & $0.01$ & $-0.83^{*}$ \\
& $[-0.16;\ 0.10]$ & $[-0.13;\ 0.15]$ & $[-0.93;\ -0.73]$ \\
v1 & $-0.06$ & $-0.06$ & $-0.07$ \\
& $[-0.23;\ 0.11]$ & $[-0.23;\ 0.11]$ & $[-0.18;\ 0.05]$ \\
v2 & $0.05$ & $-0.03$ & \\
& $[-0.04;\ 0.15]$ & $[-0.16;\ 0.11]$ & \\
\hline
\multicolumn{4}{l}{%
\scriptsize$^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.%
}
\end{tabular}
\end{table}
\begin{table}[htp]
\centering
\caption{My title}\label{m123}
% fix the overfull
\small\addtolength{\tabcolsep}{-2pt}
\begin{tabular}{ l c c c }
\hline
& treat x time & treat x time x female & treat x time x female \\
\hline
(Intercept) & -0.03 & 0.01 & -0.83$^{*}$ \\
& [-0.16; 0.10] & [-0.13; 0.15] & [-0.93; -0.73] \\
v1 & -0.06 & -0.06 & -0.07 \\
& [-0.23; 0.11] & [-0.23; 0.11] & [-0.18; 0.05] \\
v2 & 0.05 & -0.03 & \\
& [-0.04; 0.15] & [-0.16; 0.11] & \\
\hline
\multicolumn{4}{l}{%
\scriptsize $^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.%
}
\end{tabular}
\end{table}
Blah blah. Should be a serif font; here's math: $a+b$.
\end{document}
As you see, the output is the same.

ttfont. but it's not really clear what is wanted there -- is it monospace, or the "look" of a typewriter? – barbara beeton Apr 26 '17 at 01:43texregpackage in R, so i'd have to see if there is an easy way to programmatically add{-}. As Barbara notes, there is also the issue of the brackets. i don't understand latex enough to get why the content is printed in a different font in the first place. – Eric Green Apr 26 '17 at 02:30