In what order should Python, PIP and virtualenv be installed? Does it
matter at all?
1. Install python
2. Install pip
3. Install virtualenv (with `pip install virtualenv`)
4. Create new virtualenv
How can I keep two python versions separate under virtualenv?
Create separate python environments for different python versions with command:
virtualenv -p /usr/bin/python2.7
Assume I am working on separate projects, is it recommended to keep
each of the project in a separate folder created by virtualenv or not?
It's not recommended. However you could keep that projects under one virtualenv until versions of python packages installed for your project not conflicting between each other
Read Virtual Environment paragraph from The Hitchhiker’s Guide to Python! it would answer a lot of your questions!
Also you can take a look on How do I install python 2.7.2 on Ubuntu? and to How to Install Pip on Ubuntu for reference of how to install...