As far as I'm aware, there's no overall environment variable to set (like, say GLASSFISH_HOME) for the base directory of glassfish.
A while back I experimented with writing a script to go through the glassfish installation to modify the paths to a new location. From memory it was a simple sed script (*) that changed the current path to the new path, and I think this worked. However, my requirements changed and I no longer needed to move the glassfish installation, so I abandoned the work.
You might be able to package something for your clients by using this approach.
(*) e.g. sed -i -e "s@<oldpath>@<newpath>@g" <filename>
[Message sent by forum member 'lazjen' (lazjen)]
http://forums.java.net/jive/thread.jspa?messageID=288906