This would probably be done using the View API. If there's a specific off-boarding process that you can add to, or if there is something that notifies you of disabled accounts that you can trigger off of, you could then take the user account and pipe that into an assignment query to check if they have a desktop assigned to them and unassign it and/or refresh the VM so it is new and ready for the next user. I could help provide some tips to query for this if you like.