Forcing models into modelPool

I want to make some changes to a model after I load it, then use the resulting NodePath for all instances in a level. It seems like it would be more efficient to make the changes once and force the updated NodePath into the model pool so it will be retrieved with the next call to loader.loadModel. Will the model pool work in this way? Does loader.loadModel just return a NodePath.copyTo() for every ModelRoot after the first?

Yes, this is exactly how loadModel() and the ModelPool work. You can use ModelPool.addModel() to stuff your own content into the ModelPool to be returned by the next call to loadModel().