The range 10 to 20 can be excluded using \ifnum
commands:
\documentclass{article}
\usepackage{pgf}
\usepackage{pgffor}
\newif\ifok
\begin{document}
\begin{pgfpicture}
\pgfsetfillcolor{blue!40!white}
\pgfsetstrokecolor{blue!80!black}
\foreach \x in {1,...,1000}{
\oktrue
\pgfmathrandominteger{\a}{1}{100}
\ifnum\a>9 \ifnum\a<21 \okfalse \fi\fi
\ifok
\pgfmathrandominteger{\b}{1}{100}
\ifnum\b>9 \ifnum\b<21 \okfalse\fi\fi
\ifok
\pgfpathcircle{\pgfpoint{+\a pt}{+\b pt}}{+1pt}
\pgfusepath{stroke, fill}
\fi
\fi
}
\end{pgfpicture}
\end{document}
BTW, the color settings are constant and are moved outside the loop.
The following variant keeps the number of samples constant, but generates only 89 distinct values for \a
and \b
and adjusts the output of the random processor to leave the gap of eleven values between 10 and 20:
\documentclass{article}
\usepackage{pgf}
\usepackage{pgffor}
\begin{document}
\begin{pgfpicture}
\pgfsetfillcolor{blue!40!white}
\pgfsetstrokecolor{blue!80!black}
\foreach \x in {1,...,1000}{
\pgfmathrandominteger{\a}{1}{89}
\pgfmathrandominteger{\b}{1}{89}
\ifnum\a>9
\pgfmathtruncatemacro\a{\a+11}
\fi
\ifnum\b>9
\pgfmathtruncatemacro\b{\b+11}
\fi
\pgfpathcircle{\pgfpoint{+\a pt}{+\b pt}}{+1pt}
\pgfusepath{stroke, fill}
}
\end{pgfpicture}
\end{document}