If you are using Hibernate, it has an API (Hibernate.initialize) that lets you load a specified collection (preserving already loaded ones).
Or you could use SMPC (Seam Managed Persistence Context) and forget about merge. That however, might be
inefficient (depending on your app design).
This is really a JPA question, and AFAIK there is no way under the JPA spec to do what you're trying to do.
My suggestion is that if the collections in question are really large enough that loading them lazily and/or eagerly fetching them presents a speed or memory footprint issue, then they should be refactored to be more manageable, or you should use queries to only pull in the data you actually need.