6 of 11 fill2=red!50!black does work if you use the right syntax ;)

Before handling with layers and whatnot, I would just declare a new shape, e.g. rectanglewithcircle.

There are some extra TikZ styles:

  • fill2 is similar to fill and takes a color that is used to fill the circle.
    And empty argument (which is the default) and the shape behaves just like rectangle.
    fill2=none creates a path (for bounding box) but doesn’t fill anything.

  • opacity2 (default: 1) changes the opacity of the circle.

  • extra radius extends the circle’s radius. The default is set to just fit in the rectangle.

Code

\documentclass[tikz]{standalone}

\makeatletter
\tikzset{
    fill2/.estore in=\fill@@color,
    fill2={},
    extra radius/.estore in=\extra@radius,
    extra radius=0pt,
    opacity2/.estore in=\opacity@@value,
    opacity2=1
}

\pgfdeclareshape{rectanglewithcircle}
{
  \inheritsavedanchors[from=rectangle]
  \inheritanchorborder[from=rectangle]
  \inheritanchor[from=rectangle]{north}
  \inheritanchor[from=rectangle]{north west}
  \inheritanchor[from=rectangle]{north east}
  \inheritanchor[from=rectangle]{center}
  \inheritanchor[from=rectangle]{west}
  \inheritanchor[from=rectangle]{east}
  \inheritanchor[from=rectangle]{mid}
  \inheritanchor[from=rectangle]{mid west}
  \inheritanchor[from=rectangle]{mid east}
  \inheritanchor[from=rectangle]{base}
  \inheritanchor[from=rectangle]{base west}
  \inheritanchor[from=rectangle]{base east}
  \inheritanchor[from=rectangle]{south}
  \inheritanchor[from=rectangle]{south west}
  \inheritanchor[from=rectangle]{south east}
  \inheritbackgroundpath[from=rectangle]
  \beforebackgroundpath{%
    \ifx\fill@@color\@empty\else%
      \newdimen\pgf@cr%
      \pgf@process{\northeast}%     west
        \pgf@ya=.5\pgf@y%           west
        \pgf@cr=\pgf@y%             radius
      \pgf@process{\southwest}%     west
        \pgf@y=.5\pgf@y%            west
        \advance\pgf@y by \pgf@ya%  west
        \advance\pgf@cr by -\pgf@y% radius
      \pgfpathcircle{\pgfpoint{\pgf@x}{\pgf@y}}{\pgf@cr+\extra@radius}%
      \pgfsetfillopacity{\opacity@@value}
      \ifx\fill@@color\n@ne\else
        \pgfsetfillcolor{\fill@@color}
        \pgfusepath{fill}
      \fi
    \fi
  }
}
\makeatother
\begin{document}
\begin{tikzpicture}[every node/.style={outer sep=0pt,rectanglewithcircle,fill=green,opacity=.2,text opacity=1}]
  \node at (0,0) {Node};
  \node[fill2=red] at (0,-1) {Node};
  \node at (0,-2) {Node};
  \node[fill2=red,extra radius=2pt,opacity2=.8] at (0,-3) {Node};
\end{tikzpicture}
\end{document}

Output

enter image description here

Code (with beamer)

\documentclass[tikz,beamer]{standalone}
\makeatletter
\tikzset{
    fill2/.estore in=\fill@@color,
    fill2={},
    extra radius/.estore in=\extra@radius,
    extra radius=0pt,
    opacity2/.estore in=\opacity@@value,
    opacity2=1
}
\def\n@ne{none}
\pgfdeclareshape{rectanglewithcircle}
{
  \inheritsavedanchors[from=rectangle]
  \inheritanchorborder[from=rectangle]
  \inheritanchor[from=rectangle]{north}
  \inheritanchor[from=rectangle]{north west}
  \inheritanchor[from=rectangle]{north east}
  \inheritanchor[from=rectangle]{center}
  \inheritanchor[from=rectangle]{west}
  \inheritanchor[from=rectangle]{east}
  \inheritanchor[from=rectangle]{mid}
  \inheritanchor[from=rectangle]{mid west}
  \inheritanchor[from=rectangle]{mid east}
  \inheritanchor[from=rectangle]{base}
  \inheritanchor[from=rectangle]{base west}
  \inheritanchor[from=rectangle]{base east}
  \inheritanchor[from=rectangle]{south}
  \inheritanchor[from=rectangle]{south west}
  \inheritanchor[from=rectangle]{south east}
  \inheritbackgroundpath[from=rectangle]
  \beforebackgroundpath{%
    \ifx\fill@@color\@empty\else%
      \newdimen\pgf@cr%
      \pgf@process{\northeast}%     west
        \pgf@ya=.5\pgf@y%           west
        \pgf@cr=\pgf@y%             radius
      \pgf@process{\southwest}%     west
        \pgf@y=.5\pgf@y%            west
        \advance\pgf@y by \pgf@ya%  west
        \advance\pgf@cr by -\pgf@y% radius
      \pgfpathcircle{\pgfpoint{\pgf@x}{\pgf@y}}{\pgf@cr+\extra@radius}%
      \pgfsetfillopacity{\opacity@@value}
      \ifx\fill@@color\n@ne\else
        \pgfsetfillcolor{\fill@@color}
        \pgfusepath{fill}
      \fi
    \fi
  }
}
\makeatother
\tikzset{
    invisible/.style={opacity=0,text opacity=0},
    visible on/.style={alt=#1{}{invisible}},
    alt/.code args={<#1>#2#3}{%
      \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} 
    }
}
\begin{document}
\begin{frame}
\begin{tikzpicture}[every node/.style={outer sep=0pt,rectanglewithcircle,fill=green,opacity=.2,text opacity=1}]
  \node at (0,0) {Node};
  \node[alt=<2->{fill2=red}{fill2=none}] at (0,-1) {Node};
  \node at (0,-2) {Node};
  \node[alt=<3->{fill2=red}{fill2=none},extra radius=2pt,opacity2=.8] at (0,-3) {Node};
\end{tikzpicture}
\end{frame}
\end{document}

Output (with beamer)

enter image description here