I guess you would need to alter the code to set the compliance hours to be the available hours from the users calendar, but my issue is that I can't see how to get the available hours to do that.
As an alternative, would it work if you created a workflow that created (And approved) a time sheet entry to match the PTO request when the PTO is entered? That way the user does need to submit a time sheet for their PTO and the TRC will still work using Compliance Hours as the time sheet entries will cover the PTO.
Hope that helps,
Phil