Universal3D is an open standard so anyone can in theory write a library to edit/merge them - but quite frankly the internal structure of a U3D file is a horrible thing to work with, so not many developers have bothered. I'd start by inspecting how the U3D creation classes in iText work, they're very basic but you have someplace to begin - http://itextpdf.com/
Dave - are you sure iText can create U3D, not only embed preexisting U3D into PDF? Have a prooflink?
gitex0109 - first try the current version of the 3D Toolkit, current name - SAP Visual Enterprise Author.
If you look for an automated solution - take a look at Acrobat 9 3D SDK (or its current version in the hands of Tetra 4D) - it may allow you to automate merging PRC files in C++.
If you are looking for code, there is a SourceForge project - in C++.
Note, one 'hack' to make life easier is to make a simple U3D with one pipe, save that and then embed it in the Java you are writing as two hard coded pieces of data to write. One for before all your new meshes, and one for the end of the file after all the new meshes you are adding. It will already contain all the materials, lights etc so you just have to add meshes to it. Only thing to remember is to fix the file length and any surrounding block lengths once you know how long all the extra data you add is. U3D is pretty much blocks within blocks, where each block minimally has a type, length, and unique name to identify.