Paolo:
I must begin by admitting that I don't understand very well what you are trying to do (and I don't understand at all what .cat files are); but, anyway, I would like to contribute a solution I have found useful for handling objects that are common to different projects.
1. Create an "Infrastructure" view package, with subpackages for metamodel elements (for instance, a class diagram for "objective", "problem", "resource"... ), and also for your home-made reusable components (classes, tables, whatever...), as well as commercially available components, hardware, and so forth. You can define your best-practices and reusable ensembles here (for instance, your account, sub-accounts, cost center classes, their use cases, state charts...).
2. Create a general "Reusables" view package, for individual components that are not strictly part of your metamodel or your ensembles. You can include a "Dust bin" package here, so you can phase out elements instead of deleting them.
3. All your projects must have very similar high-level views and packages (requirements, business processes, use cases, database model, user interface model, architecture), even if they vary in detail.
4. Be sure your technology-independent conceptual (or "domain") model is kept up to date, so you have good "canonical" classes.
It seems to me that the challenge is much more logical (that is, a good hierarchy of reusables) than technological.
Hope this helps,
Jaime