If you are talking about numHistoryShards config property, then no, its not a dynamic value and cannot be changed once set for a cluster.
Finding the right value of this property for your use case and expected load would require load testing and experimentation. Here is a good writeup that could help, and here are some base recommendations.