Hi,
I agree, it could be a nice feature, but actually I think there is a way to go around this, by reversing the process, or better said, build a small framework.
instead of attaching a crowd behavior to an agent directly. Some kind of crowd broker could be created that for each behavior will create a an empty gameObject ( from a prefab) with all the logic to control an agent for a specific task.
So the agent is not responsible for the logic, but actually this prefab ( that was feed the agent to control). So you would have a prefab to walk a target, a prefab to scare a target, etc etc.
Then, you can apply/manage behaviors to an agent and mix them at will without adding removing fsm on the agent itself, but actually adding and removing gameObject prefab responsible for a specific behavior.
It might result in the same performance hit as adding a component tho ( iTween suffer from this too).
Hope this make sense
Bye,
Jean