Last week I had a request to temporarily disable an agent, but there isn't an option to do so. My only option was to change the agent back to a requester. If I would have had to put the requester back to an agent, that would have made for extra work. Turns out I didn't have to, but having an option to disable would be really useful at times.
You can deactivate an agent: https://support.freshservice.com/support/solutions/articles/204591
If it's just temporary and you don't want all the below to happen, just restrict access.
Create a role with restricted access (no rights or view assigned tickets onlyl), set this as the agent's only role, and move to occasional agent.
What happens when you deactivate an agent?
The agent will not be able to login to Freshservice. In case of activation, the admin can navigate to Admin -> Agents -> Agent Name -> Activate. You will not be able to assign entities (such as tickets, problems, assets and projects) to them. All tickets assigned to the agent with Open, In Progress or Pending statuses will automatically become unassigned. All tickets assigned to the agent with Resolved and Closed statuses will remain as it is. The agent will automatically be removed from all account level configurations except workflow automator, in which users will have to manually remove the agent from the associated workflow. Once the agent is deleted in AD the agent will be automatically deactivated in Freshservice.