Yes you can have to versions of informatica running on same machine, make sure to install it with different user id and in different mount point or path.
On Unix/Linux that can be achieved either (preferred approach) using different user IDs or using different environments (difficult to maintain, very dangerous, but it is possible).
On Windows you can do it as long as the Windows services have different names. This is, for example, the case when installing 9.6.x (service name Informatica 961, if I recall correctly) in parallel to 9.5.x (service name Informatica951, if I recall correctly).
The biggest catch that you may fall victim to is the path to libraries you need, e.g. for different Oracle clients (under Informatica 9.5.1 you can store repositories in Oracle 10g, under Informatica 9.6.x only 11g onward is supported). From this point of view it might become pretty difficult to install different versions in parallel.
I have to say that this warning is not as bad as it may sound. We have run Informatica PowerCenter 8.1.1 Service Pack 5 in parallel to 9.1 Hotfix 2 on three AIX boxes for more than a year (until migration was finalised), and - except for me not being cautious enough in one case - we didn't have any trouble with this setup.
Thank your for the response, but what did you mean by "different environments"?
Environment variables having different values.
For example, LD_LIBRARY_PATH and PATH variables may point to different database client libraries for different Informatica installations. Also the shell prompt might differ (in order to clearly show what Informatica installation you're currently "logged on" to), $INFA_HOME and $JAVA_HOME may differ, and so on.
When we were migrating from 8.1.1 Service Pack 5 to 9.1 Hotfix 2, we set up a shell script to set environment variables to one or the other installation. In the .profile file we set up a choice between these two environments, and based on the user's entry either the infa811.sh or the infa91.sh file was invoked to set up the environment accordingly.