Yes you can install multiple ORACLE HOMEs of different version on same host but on a separate oracle home directory.
On my PC (WIndows XP) I've got Oracle 10gR2XE. Can I also install a free version of Oracle 11gR2
Define "free version". As far as I know, the only free Oracle version is XE : if you mean this one, then the answer is No, you can't.
You might want to try this, to avoid having two XE's: https://asktom.oracle.com/pls/asktom/f?p=100:11:0%3A%3A%3A%3AP11_QUESTION_ID:963124000346653522
As well as changing the port Oracle XE - Oracle FAQ
Someone blogged about this, but I can't remember the magic google to find it.
The ORACLE_HOME is going to be different between versions anyways.
The upgrade instructions from 10 to 11 in the 11 XE docs do say to uninstall 10 if staying on the same host, but they are worth looking at to get some more clues.