The template is possible, it just needs to be implemented carefully to account for the pull down choosers for the spells. It looks as though you will need multiple pulldown menus, one for each spell level. This is accomplishable. You might have to make a custom thing for each spell level and bootstrap all nine of them to the template however.
What you could do is make each bonus spell a special ability and have each special look for your character's spell level, you will want them to auto disable if the character doesn't have access to the level of spell granting the bonus. For example, a character with 17 intelligence wouldn't normally be able to access some high level spells, so you need the class special to automatically disable itself if this is the case.
If the character qualifies for the spell level, the character would choose a spell from those available. I believe this template is for Arcane magic, as Elminster is the Chosen one in the 3.5 version of the realms. You'd set up a custom tag expression down where it says Custom Expression. Each spell level will have a tag that identifies it as a spell and what level and type it is.
as an example, you will want something like this for 1st level spells
Code:
component.BaseSpell & (SpellType.cHelpSor | SpellType.cHelpWiz) & sLevel.1
if you want to include bard spells on that list of choices you'd need another or statement the | is an or statement in the code. You can find the tags by going into the develop menu, enable data file debugging. Then create a wizard or other spell casting character in the main interface. Go to the spell book, right click the spell and show debug tags. Then you can find the tags you need for spells to create the class abilities.
You should have nine of these created, and once they're done, bootstrap them to your template.
Not saying this the best way to do what you're trying to accomplish, but it is one way of doing it.