If you upgrade you will not be able to (with ease) move a database from 2008 back to 2005.
Like lynnroth, I run multiple instances (05 standard, 08 dev, and a 05 express instance) for testing specific things.
If you're worried about backwards comptible SQL you can use various compatibility level values. It's not exactly like running the SQL against a different version of SQL Server, but it makes migrating from version to version easier.
Also, to note. You can only have one default instance of SQL Server on a machine (machinename).
I find it easier to manage which version I'm on by naming the instances accordingly...
machineName - default (used the most)
machineName\SQLEXPRESS (sql express' default instance name)
machineName\SQL2008 - 2008
Don't forget that running databases against multiple instances is different resource-wise than running all databases against a single instance.
Kris