I think this should be quite easy to do if we add an extra module in the main parent.
As midi just comes in as a stream of serial data, which could then be send internally further to the main patch for monophony or to a patcher object in case of polyphony, we can save the incoming midi notes into a simple table.
Each new note would add into the table and when a saved midi-note gets it's off message, it would be removed from it. If there's still another note before it which hasn't been removed, it could be retriggered using the same data and goes off if it finally gets its midi-note-off message, repeating this till the whole table is empty.
And as we're using a table, it's easy to quickly find the lowest, highest, middle, oldest, newest, loudest or whatever note..