Code
\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{calc,fit,positioning}
\begin{document}
\begin{tikzpicture}
% some nodes
\node[fill=red,circle,inner sep=2mm] (A) at (0,0) {};
\node[fill=blue,circle,inner sep=4mm] (B) at (4,-1) {};
\node[fill=violet,circle,inner sep=3mm] (C) at (1,3) {};
% a node, relatively shifted
\node[fill=orange,circle] (D) at ([yshift=5mm,xshift=15mm] A.north) {};
% outer fit
\node[thick,draw=red,fit=(A)(B)(C)] {};
\node[thick,draw=blue,fit=(A)(B)(C),inner sep=0] {};
% inner fit
\node[thick,draw=red,fit=(A.east)(B.north west)(C.south),densely dotted] {};
\node[thick,draw=blue,fit=(A.east)(B.north west)(C.south),inner sep=0,densely dotted] {};
\node[thick,draw=violet,fit=(A.east)(B.north west)(C.south),inner sep=-3pt,densely dotted] {};
% center fit with shifted node, as ([options] node) does not work
\node[thick,draw=orange,fit=(A.center)(B.center)(D.center),densely dashed,inner sep=0] {};
% same as above with calc's ($()+()$); note that you can't use coordinates as (x,y), you have
% to enclose the coordinates in braces: ({x,y})
\node[thick,draw=orange,fit=(A.center)(B.center)($(A.north)+({1.5,0.5})$),densely dashed] {};
\end{tikzpicture}
\end{document}
Output

fitlibrary would seem to be a good ... fit. – Andrew Stacey Sep 24 '12 at 13:31fitlibrary is what you're looking for. – Andrew Stacey Sep 24 '12 at 13:44