It's easy to copy bookmarks from one Firefox profile to another. But the Firefox developers have thrown an interesting wrinkle into the process starting with Firefox 3.
This is the procedure to copy profiles for the OS/2 platform. Other platforms are probably similar.
The first step is to find your profiles. Firefox stores its profiles in a location determined by the environment variable named MOZILLA_HOME. If MOZILLA_HOME is set to d:\Home\default, then the Firefox profile directory is d:\Home\default\Mozilla\Firefox. The names of each profile are stored in a text file called profiles.ini.
For Firefox 2, the bookmarks are stored in the profile in a file named bookmarks.html. Passwords are stored in signons2.txt for Firefox versions 2.0.0.2 and higher, otherwise they are stored in signons.txt. The key file for the passwords is key3.db. Both files are required.
For Firefox 3, the bookmarks and passwords are stored in places.sqlite.
For Firefox 2, copy bookmarks.html, signons2.txt and key3.db to the new profile, overwriting the existing files.
For Firefox 3, copy places.sqlite to the new profile.
To copy from Firefox 2 to Firefox 3, copy the files for Firefox 3 to the new profile directory. Then delete places.sqlite and all the files in the backupbookmarks directory. When you next start Firefox 3, places.sqlite will be recreated from the Firefox 2 files.