One solution could be introduce another command, \drawcurrentroom
which creates the room, draws the current path and shifts the distance for the next image.
To shift images I used the method shown you yesterday.
Here is my MWE:
\documentclass{article}
\usepackage{tikz}
\newlength\mydistance
\setlength{\mydistance}{0cm}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{calc}
\usetikzlibrary{shapes,arrows}
\newcommand{\room}{
\coordinate (a) at (0,0) ;
\coordinate (b) at (5,0);
\coordinate (c) at (5,5);
\coordinate (d) at (0,4);
\coordinate (e) at (1,3);
\coordinate (f) at (1.4,3) ;
\coordinate (g) at (1.4,2.6) ;
\coordinate (h) at (1,2.6) ;
\coordinate (i) at (1,3) ;
}
\newcommand{\drawcurrentroom}[1]{
\begin{scope}[xshift=\mydistance]
\room
\foreach \x/\y in {#1}
\draw (\x)--(\y);
\end{scope}
\addtolength{\mydistance}{6cm}
}
\begin{document}
\begin{tikzpicture}[scale=0.85]
\drawcurrentroom{a/b}
\drawcurrentroom{a/b,b/c}
\drawcurrentroom{a/b,b/c,c/d}
\end{tikzpicture}
\end{document}
The command \drawcurrentroom
takes as argument the list of connections: they should be separated by a comma; for example:
\drawcurrentroom{a/b,b/c}
means that there is a path from a
to b
and another one from b
to c
. If you always use increasing sequences maybe it could be possible to automate more the job, but I think it is easy enough.
The graphical result is:

EDIT I forgot of saying that it is better when you draw another picture, to reset the length to 0; thus:
\begin{tikzpicture}[scale=0.85]
\drawcurrentroom{a/b}
\drawcurrentroom{a/b,b/c}
\drawcurrentroom{a/b,b/c,c/d}
\end{tikzpicture}
\setlength{\mydistance}{0cm}
\begin{tikzpicture}[scale=0.85]
\drawcurrentroom{a/b}
\drawcurrentroom{a/b,b/c}
\drawcurrentroom{a/b,b/c,c/d}
\end{tikzpicture}