Someone brought up this question in the last open office hours and I shared my workflow with them. It may be beneficial for others as well, so here is what I have set up.
We use Infinite Campus for our SIS, so I have a quick ticket set up for my HR team along with my site Secretary/Admins to have a 1 click “Infinite Campus Access” ticket option.

Inside this quick ticket, along with the ticket issue if clicking through the regular navigation, I have custom fields set up for Start/End Dates, name, email, what they need, etc. All are Required fields so I get the info I need to give them access.

The Start/End Dates need to be set up as a specific “Date” field type in the Custom Fields tab so that they can be used for the rule we need.

These can be popped into a custom view as a column, or, more importantly, used as a custom field for a rule to remind me to go back and take it away. You can set this up using an “On a schedule” rule that runs daily.

Since I am the only one in charge of temporary access requests, I have a very simple message in my own rule, but you can use the Rule Variables to include more information if you want. I have my rule set to run daily at 6:30am, so it will check if any ticket is flagged for termination on that day and then send me an email so I remember to go update it. You could easily alter the time to run near your end of day to remove the access right there, I prefer a morning reminder to add to my to do list.
You can use the same type of rule to set reminders for other tickets as well, you would just need to set up the field and ticket types. I set one up for our Maintenance Team to rotate air filter changes and they have been enjoying it.