Dirk,
Sounds interesting. I definitely think it's really useful to be able to generate the canonical URL for an object in an inexpensive way.
May I add one thing to the mix: An object identifier, for example called 'object_no', which starts with 1 for each new package instance, with a unique (package_id, object_id).
This is necessary, because if you're ever going to migrate your data over to a new site, you cannot guarantee the same object_id's.
Hence, object_id should *never* be part of bookmarkable URLs.
Thoughts on this?
/Lars