There are many ways. I would probably recommend (as the system probably likes 2.3 a lot) adding a symlink to /usr/local/bin called py3 or python3 or something like that like this:
sudo ln -s "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/python" /usr/local/bin/py3
The path to the 3.1 python executable might not be quite right, so you can just sub it in.
Then when you want to use version 3, you'd just type py3. When you wanted the 2.3, just type python. I would not change, at the system level, which one gets called by default. If you really, really want to get version 3 by typing python, you could add an entry to your bath by editing your .bash_profile, like:
export PATH=/my/new/dir:$PATH
Then you can make a symlink called python in /my/new/dir. That way, when you ran python from the terminal it would find the version 3 executable before it found the version 2 one. I think this would let the system still use the python it likes by name, but someone may need to correct me on this.
-Lee