Sorry for being thick, but I'm not aware of the $RENDERPASS variable - I suspect it's probably in an example somewhere that I've never seen.
If I understand what you refer to as a “pass” - you mean a separate layer of the same animation that would contain different elements, such as various objects, or perhaps separate specular and diffuse passes? This is fairly trivial, but yup - it really helps to know a bit of hscript.

We have honkin' big scripts here that change the babies' diaper and make toast at the same time, but it doesn't need to be so complex. Typically you want something that will set some basic things like resolution, etc. - but most importantly will display only the things you want to see - typically using the “opset” command. You *do* want to re-render the scene for each pass, if this is indeed what you're talking about.
If you look in Tutorials/learningData/scripts/render on the tutorials disk, there's a script called “rencomplex.csh” that uses opset to determine what is displayed - search for that command.
Lots of beginner/mid users use the graphic interface to houdini to build ROPs that contain all the different pass information, then call them from a script. Here we assume *nothing* about the state of any given hip file when it's been saved - that way we save those endless errors when a user was quickly looking at something and leaves the hip in a state that's incorrect for final render. Well, most of the time, anyway.

We build a brand new ROP using scripts on the fly each time, using a call to our scripts which set whatever params you want, then submits to the farm. Fair bit of work to setup, but I can't tell you how much time it's saved since it's been installed. Can't live without it now!
Cheers,
J.C.