I suggest a more versatile way unlike Miyase's solution that uses absolute coordinates.
You can insert node path operator after rectangle and by adjusting anchor option make nodes inside.
This way nodes do not depend on any absolute coordinates and by changing rectangle dimensions, labels will stay at the right place.
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}
\fill [orange] (-2,-1) rectangle (2,2);
\draw (-2, -1) rectangle (2,2);
\fill [white] (0,0) rectangle (1,1);
\draw (0,0) rectangle (1,1);
\draw[->, thick] (0.5, 0.5) -- (2.3, 1);
\draw[font=\tiny, outer sep=5pt, fill=orange] (2.5,0.5) rectangle node[anchor=north west]{1} node[anchor=north east]{2} node[anchor=south west]{3} node[anchor=south east]{4} (1+2.5,1.5);
\draw (2.5,0.5) rectangle (1+2.5,1.5);
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}

Edit:
As Qrrbrbirlbel pointed out, I was wrong about automatic placement for arbitrary rectangle. The previous solution is still valid as long as you are ok with tweaking around outer sep option.
However, in sake of versatility that I was after, here's slightly different approach:
Instead of using rectangle path operator, you can use
(2.5,0.5) |- (2+2.5,1.5) |- cycle
that draw the same rectangle as
(2.5,0.5) rectangle (2+2.5,1.5)
But the advantage of that approach is that you can now specify nodes explicitly before and after |- operator and the nodes will already placed in corners.

\draw[font=\tiny, fill=orange] (2.5,0.5) node{1} |- node{2} (2+2.5,1.5) node{3} |- node{4} cycle;
Now it's only matter of aligning labels so that they will appear inside the rectangle. You can do it via either anchor option as in the previous solution or via left, right, above, below combination that are equivalent to anchor ones. And the last this is to add inner sep to add some padding
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}
\fill [orange] (-2,-1) rectangle (2,2);
\draw (-2, -1) rectangle (2,2);
\fill [white] (0,0) rectangle (1,1);
\draw (0,0) rectangle (1,1);
\draw[->, thick] (0.5, 0.5) -- (2.3, 1);
\draw[font=\tiny, inner sep=2pt, fill=orange] (2.5,0.5) node[above right]{1} |- node[below right]{2} (2+2.5,1.5) node[below left]{3} |- node[above left]{4} cycle;
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}
