I have the same scenario to be implemented did you find anyway to achieve this ?
Looking at the richfaces doco for the calendar it states that the client side api has not implemented functions to achieve your desired behaviour.
So, off the top of my head there's at least 2 things you could do.
Option 1. (Easy fix, but not quite what you are asking for) Do it with ajax. where you would normally do a js call to disable the component do a quick ajax call that rerenders the calendar with disabled set to true. This would be a very lightweight call, but...not sure if this will achieve what you want.