Thank you for contributing your view from hook perspective.
I feel such a hook point is not necessary, since
pbs_release_nodes will NOT be used to allocate new nodes, but only to keep already allocated nodes during job runtime while releasing other sister nodes, all of which were assigned by scheduler adhering to select lines as per local policy/submitjob/modify admin hooks. When the job ends, anyways all allocated nodes are automatically released.
pbs_release_nodes is intended to give up allocated nodes of a job which are no more needed by the job, thereby increasing their availability for other jobs which are yet to run.
If user provides any select line while invoking
pbs_release_nodes which does not match the select statement already associated with running job, then command should fail (I should be adding this line in the design page soon).
Also note that by invoking
pbs_release_nodes -k <select string> user will not be able to prolong the run time of a job than the time decided by the sched/policy.
Please feel free to reply if you do not agree.