Efficiently consolidating an array of objects
I'm afraid I'm not familiar with Actionscript but I can give you some general advice with regards to how your code is structured:


Separate the requests into different arrays for each title instead of keeping them in a single array. Admittedly this is a violation of the DRY principle (don't-repeat-yourself) but it will force you to apply specific handling rules for each rather than a general rule that you bend that you do at the moment. This is clear from the degree of nesting of if-statements in your code.
You seem to JSON.parse(...) twice, can you not keep the result from the original call?
You seem to check the uniqueness of the sender id twice requests[i].from.id and consilidated[j].from.id. I think you only need to do this once?
Try to rely on array lengths rather than counters that you implement yourself. I know you've commented on it but consider building and modifying separate arrays.
Don't nest your if-statements but create separate boolean variables.

var idIsEqual:Boolean = consolidated[j].from.id == consolidated[k].from.id;
var titleIsEqual:Boolean = dataObjectJ.title == dataObjectK.title;
var typeIsEqual:Boolean = dataObjectJ.type == dataObjectK.type;
if (idIsEqual &amp;&amp; titleIsEqual &amp;&amp; typeIsEqual) {
    ...
}

It might be a little overkill but consider creating an associative array keyed by id_title_type (e.g. "12_myTitle_gift"). That would make searching a little easier.
Don't create variables named temp. This is a real bugbear of mine and I see it all the time. By the looks of it, it should probably be named unreadMessageCount. For someone who doesn't know you code, the penny doesn't really drop on what your code is trying to achieve until the last line is read, and suddenly everything becomes clear.