Hi,
to make this work you need a 2-pass rendering process, which Sling does not support ootb. Of course you could implement it somehow into Sling, but this would have consequences I cannot forsee. For example a lot of code would be executed twice, which normally should be executed just once. And much more.
A different option would be calculate these properties offline, with the drawback that they only reflect the outcome of the last rendering process. In that case a filter could collect all relevant information and store it a a page level. If you need to consider only activities of authors, this might even work (authors will always see the rendered page after their change). But of course your requirements might allow or not allow this.
Jörg