To shift part of a picture one can use a {scope} and one of the shifting options:
shift=<coordinate> (Argument has do be in braces {} when it contains a comma ,)
xshift=<distance>
yshift=<distance>
In the following example I’ll use shift and a predefined coordinate (shift) (the name doesn’t matter) to have easy access to the shifting later.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% Shifting coordinate (optional)
\coordinate (shift) at (0,-3);
% First image, without a scope
\draw (0,0) circle (1);
\fill (2,-1) rectangle ++(4,2);
%% named node
\node (A 1) at (8,0) {Node 1};
%% named coordinate
\coordinate (C 1) at (10,0);
\begin{scope}[shift=(shift)]
\draw (8,0) circle (1);
\fill (2,-1) rectangle ++(4,2);
\node (A 2) at (0,0) {Node 2};
\coordinate (C 2) at (10,0);
\end{scope}
% Connection line
%% A) use named coordinates nodes
\draw [red,->] (A 1) -- (A 2);
%% B) use named coordinates
\draw [blue, ->] (C 2) -- (C 1);
%% C) use calculation with (shift)
\draw [green, ->] (0,0) -- ($(8,0)+(shift)$);
%% D) shift a single coordinate
\draw [orange, ->] (2,-1) -- ([shift=(shift)] 4,1);
\end{tikzpicture}
\end{document}

To access both coordinate systems I’d prefer using named nodes or coordinates which is basically the same (red and blue arrow in the example). But it is also possible to use the calc library and add the shifting manually, by using ($<coord>+(shift)$) (green arrow). As Qrrbrbirlbel stated it is also possible to apply the shift option to a single coordinat (orange arrow).
scopeenvironment provided bytikz/pgf? – bloodworks Feb 05 '13 at 15:55