Actually, yes it is intended.
Yes.
The code was all handled in template hooks before. They are deprecated and although they work now, I can't guarantee they'll stay working.
So I basically use the notices_prepare event now. It has access to the PAGE_CONTAINER template, a template object and container data. Basically everything I need all in one place.
I guess the only "down side" is that it requires Notices to be enabled. But, at the same time, having Notices enabled has no adverse effects, no additional query overhead on page load, etc.