I think the key to making it work with the existing code is to program the pages to alwasy us an include. So the default object display page of the package would have the a page that inteprets ad_page_contract and then calls the include. This includable page could then be used in other places.
The existing forums message display works like this. The message display template is included for each message in a thread.
So, I am not sure if we need a new tag, or to change the way the current tag works, or if we can just change the way we build our pages.
I definitely agree that reusable page components are a great idea and we need to promote more use of includable adps.