If you want to test out FF 4 without overwriting your FF 3, just download it from mozilla http://www.mozilla.com/en-US/firefox/beta/ , open the dmg file, you should see the screen shot below:

Do not drag the firefox icon to the application, instead drag it to desktop and rename. (e.g. Firefox_4b8, try to avoid using space). Drag the renamed FF 4 from your desktop to application. Then you are half done.
Now if you try to open your FF 3 and FF 4, it will complain that firefox is already running. The reason is they are using the same profile. So you need to create a different profile to run FF 4. To start profile manager, open terminal, type:
/Applications/Firefox_4b8.app/Contents/MacOS/firefox-bin -profilemanager
Change the part in bold accordingly.
Create a new profile (e.g. 4b8). Now if you want to create a short cut in dock, it would take more work. First, ⌘+space, lookup script editor. Open script editor. Paste the following line into script editor:
do shell script "/Applications/Firefox_4b8.app/Contents/MacOS/firefox-bin -P 4b8 &> /dev/null &"
Again, change the part in bold accordingly.

Then save it. Give it a file name, put it under Application folder and change the file format from Script to Application as follow:

To change the icon, control click on the script, open Get Info. Then control click on a firefox short cut, open Get Info. Then drag the firefox icon to replace the script icon. Now you can drag the script to dock and run firefox 3 and 4 at the same time.
In case you running Jetpack SDK with this setup, the default path Jetpack will look for is /Applications/Firefox.app/ when it try to launch FF. So it will launch FF 3, but Jetpack SDK support FF 4 only. I don’t know the proper way to change the config, i just did a grep and change the python code. The path is under JETPACK_DIR/python-lib/mozrunner/__init__.py. Look for the line “appdir = os.path.join(‘Applications’, name.capitalize()+’.app’)” edit the path here and the cfx command should launch the FF 4 correctly on cfx run and cfx test.