Hi Jakob,
This is a nice question. In fact, we are currently working on this issue along a number of fronts. We have implemented an interface in the potfit package for using KIM models. It has not yet been released, as we are still doing some testing, but I think we could share a beta version with anyone who is interested at this point.
We are also in the beginning stages of developing a similar potential fitting tool that will eventually become a part of the openkim.org system and allow for the easy specification of training sets, testing sets, and the like based on the content in openkim.org.
Finally, and more directly to your question I suspect, the KIM API provides a programmatic mechanism for changing a model's parameters, when the model developer has implemented such support.
You can look at, say, Three_Body_Stillinger_Weber__MD_335816936951_001, for instance to see an example that provides PARAM_FREE_* type parameters as listed in the .kim.tpl file.
See the file "standard.kim" under the MODEL_PARAMETERS section the documentation in KIM_API_Description.txt for these api calls:
KIM_API_get_num_params
KIM_API_get_parameter
KIM_API_get_num_free_params
KIM_API_get_free_parameter
KIM_API_get_num_fixed_params
KIM_API_get_fixed_parameter
KIM_API_model_reinit
Unfortunately, the Tersoff_LAMMPS__MD_077075034781_001 model driver does not implement this support.
You might try contacting Tobias Brink, who contributed the Tersoff model driver, and see if he is interested/willing to implement these feature and/or interested in collaborating on such an implementation.
I hope this is all helpful information.
Cheers,
Ryan