If you need to run two separate databases on the same box, each with its own port, then having two clusters would be one way to go. Each cluster has its own postgresql.conf and so each cluster can be (must be, if I'm not mistaken) configured to listen on a separate port.