Moveable Character Controller

Say I had a game where I have several models running around performing tasks under AI control, but I want to be able to slip into first person on any of the models. How do I go about “moving” the fps controller from one model to another?

Character controllers are nothing but components.

So you can assign your character controller to your any game object using GameObject.AddComponent

And to remove your character controller component from your game object just use Object.Destroy

You just need to perform these operations on your intended game objects (models) i.e. AddComponent to your target game object and Destroy character controller from your previous game object on which it was present.