Going back to the IIF approach, could you not do something like:
=IIf(Parameter!ProviderID.Value = 1, 'A,B',
IIf(Parameter!ProviderID.Value = 2, 'B,C',
IIf(Parameter!ProviderID.Value = 3, 'B,D', 'NOVALUE')))
Checks if the value is 1, if not, then check if it is 2, if not then check if it is 3, if not, then display NOVALUE? I don't have an environment to test it, but I can't see why that wouldn't work...
The above is all just my opinion on what you should do.
As with all advice you find on a random internet forum - you shouldn't blindly follow it. Always test on a test server to see if there is negative side effects before making changes to live!
I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.