In reply to hisingh:
For Q1 and Q2 you would need support-logic. Here are 2 links that can provide examples.
https://verificationacademy.com/forums/systemverilog/grant-must-some-time-have-been-preceded-request#reply-104623
You can also add counters on those req ack and use those values in the assertions.
On Q2, you need to task the req. See my replies
https://verificationacademy.com/forums/systemverilog/assertion-req-and-gnt-signals