How can I run a PostgreSQL outside the standard directories on Linux, ie outside /var/run/postgresql etc?
pg_ctl allows for a -D option which allows you to point at your data wherever it is.

I do this all the time for development environments and fun things like setting up intracomputer replication environments for testing.  It works fine.

The one thing you really need to be careful about is the configuration.  After unzipping you should probably edit the postgresql.conf appropriately.