Not too sure I understood your question correctly, but here goes nothing!
The portrait is actually a single sprite object, named "Portrait". Each animation define a single portrait, it can be animated or not, depending on your need.
There is the premade "changeportrait" text function that change the current portrait animation. It accepts only a new animation name, but you could easily modify it to allow specifying an animation frame number. Both parameter could be provided by a variable in the dictionary.
That said, one could also decide to bypass the portrait mechanism provided by the system and create an entirely new one using only custom text commands.