On one server (an IBM RS/6000) that we have, I have 4 Oracle database instances running plus a Designer/2000 repository (effectively another instance).
We've not had to mess around with allocating new ports for the TNS Listener. All you should need to do it call the instances different names and then set up standard entries in tns_names.ora on the server and clients.