I agree with Dave. I think you are getting confused between these two
- out of order transactions verification in a scoreboard
- sequence item arbitration by the sequencer
For 1 like you mentioned we use associative arrays and queues and all transactions generally have an id field.
For 2 as far I understand sequencer will handle the id. You don’t have to worry about it.