Is it possible to sharding the database when there are too many task results?

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.