For the first part of your post, the template game not being set up for an Ego talker, that part's easy. By default, it's set up to only have a Narrator.
Talkers generally each get their own scripts simply so they're only loaded while they're actually talking. In Main, findTalker merely links talker numbers to objects, usually via ScriptID commands except for 99, which is the Narrator:
(switch talkerNumber
(NARRATOR gNarrator)
; Add more cases here for different narrators
; (8 (ScriptID 109 7)) ;cadetsTalker in SQ5's starCon.sc
)
99 being the Narrator and 1 being Ego is just tradition, just like how they all get their own scripts. You might notice that the template's narrator is in Main, by the way.
I don't know about having an active Talker in a button-filled Print though...