@Michael,
You can change the Customer to be in a taxable/non-taxable tax class (by setting the CustomerInfo.CustomerTaxRegistrationID) and then retrieve that (using ICustomerTaxClassService) in your custom ITaxCalculationService implementation since the TaxCalculationRequest contains the Customer:
var customerTaxClass = customerTaxClassService.GetTaxClass(request.TaxParameters.Customer);
if (customerTaxClass == CustomerTaxClass.Exempt)
{
return 0m;
}
You could also create a custom implementation of ICustomerTaxClassService if you needed to.