Given that you're already using the fit library, you can just use that to get your new rectangle. If you're willing to set outer sep=0pt on your original fitting node then you can fit the new rectangle to the old one plus some random coordinate to set the height, or to the southern anchors of the old one. If you're not willing to set the outer sep on the original node, then simply fit the new node to the same nodes as the original one plus an extra one to make it bigger. In the following, I've made the rectangles different colours so it's obvious what is actually being drawn, but if they are the same colour you won't notice that.
\documentclass{article}
% \url{http://tex.stackexchange.com/q/20998/86}
\usepackage{tikz}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}[inner node/.style={draw,dashed,blue,text=black},outer node/.style={draw,ultra thick}]
\node[inner node] (a) at (0,0) {a};
\node[inner node] (b) at (2,3) {b};
\node[inner node] (c) at (3,2) {c};
\node[fit=(a) (b) (c),outer node,outer sep=0pt,purple] (d) {};
\path (d.south) ++(0,-5) coordinate (e) {};
\node[pink,outer node,inner sep=0pt,fit=(e) (d.south east) (d.south west)] {};
\begin{scope}[xshift=5cm]
\node[inner node] (a) at (0,0) {a};
\node[inner node] (b) at (2,3) {b};
\node[inner node] (c) at (3,2) {c};
\node[fit=(a) (b) (c),outer node,outer sep=0pt,purple] (d) {};
\path (d.south) ++(0,-5) coordinate (e) {};
\node[pink,outer node,inner sep=0pt,fit=(e) (d)] {};
\begin{scope}[xshift=5cm]
\node[inner node] (a) at (0,0) {a};
\node[inner node] (b) at (2,3) {b};
\node[inner node] (c) at (3,2) {c};
\node[fit=(a) (b) (c),outer node,purple] (d) {};
\path (d.south) ++(0,-5) coordinate (e) {};
\node[pink,outer node,fit=(a) (b) (c) (e)] {};
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}
Result:
