I would hope to god this game doesn't store their spell names in RAM.
I have no clue on how this game does it but for Tales of Phantasia (Rather for the modified spell list crap I did), the spell bytes themselves were in RAM. Like:
00 = Fire Ball
01 = Ice Needle
etc..
I would assume this game does the same thing. The spell NUMBER is picked in RAM. It grabs it somewhere and uses that value for the name, mp cost, etc.. If not, I'd probably like to shoot the programmer in the foot.
I can take a whack at making it two columns really quick but if there's no way to make it scroll then we're going to have a big, big problem. (In battle that is absolutely no big deal. They clearly allow scrolling).
Edit: Yep, it just uses the spell byte from RAM, no big deal. There's even room for 12 extra spells per character (But won't display on screen). The bad news? There is no scrolling in that menu. All the spell list is on Layer 1 MUCH like the item screen.. so it could be possible to implement a scrolling bit onto it like what they did and make spells 2 columns. It doesn't seem like they did anything special. It halted loading any new stats when you were scrolling and it literally scrolled the layer itself, no HDMA or special effects. So it really wouldn't be that hard to implement. Only problem is trying to make the hand associate with the correct spell.
If I get bored and decide to code this, I might make it like Tales of Phantasia. You pick the spells wanted from a table and then another byte will dictate how many lines there are. If there's over 8 rows, it'll allow for scrolling, otherwise just the usual.