Hi Marcus,
I didn't play with NAC Request Tool yet but looking around...
NAC Request Tool is a thing that involves ExtremeConnect API that is available in NMS-ADV, but somehow it works with NMS (take care of the version: https://gtacknowledge.extremenetworks.com/articles/Solution/Nac-Request-Tool-does-not-work-in-v8-x-unless-you-have-a-NMS-ADV-license).
You might find this useful:
https://gtacknowledge.extremenetworks.com/articles/How_To/How-to-Add-MAC-Addresses-to-NAC-End-System-Groups-via-NAC-Request-Tool/
The difference is with a command used, i.e.:
code:NacRequest -server 1.1.1.1 -username admin -password pass -del -oper esoverride -endsystem 11:22:33:44:55:66 -group "My Beloved Ones"
I believe some effort in scripting is to be put so you might have a CSV file with contractors' VM MAC addresses and cooperation deadlines, every midnight the file is checked by the script and if some date is older than today, issue NAC Request Tool command for that MAC address (and clean the line in CSV, and notify something external that it's outdated - or from a different perspective, some application that monitors out-of-date access could run that command).
Hope that helps,
Tomasz