I don’t know a way for this. My workaround is creating new commands for layers:
\documentclass{minimal}
\usepackage{tikz}
\pgfdeclarelayer{background}
\pgfsetlayers{main,foreground}
\newcommand{\onlayer}[2]{%
\begin{pgfonlayer}{#1}%
#2%
\end{pgfonlayer}%
}
\newcommand{\bglayer}[1]{%
\begin{pgfonlayer}{background}%
#1%
\end{pgfonlayer}%
}
\begin{document}
\begin{tikzpicture}
\fill (0,0) rectangle (2,2);
\bglayer{\fill [gray] (1,1) rectangle (3,3);}
\end{tikzpicture}
\end{document}
It’s not as comfortable as your inline version but better (shorter) than using the pgfonlayer environment …
Edit Another way is shown in "Z-level" in TikZ