One approach woth considering is the "codename" approach - give your projects internal codenames that have less to do with what the project is about, but sound better. This will make your own work easier. When you a release is coming near, have the marketing department come up with a "real" name.
This of course means that the "real" name has to be configurable in the project from day one, so that in the end you can just change one line and recompile.
This is similar to Vicky's approach. Many large companies seem to follow this too (like Microsoft).