You could significantly reduce the size and need to type the same thing over and over again y using something like this
#SAY
which spell would you like to level\
<SummonShinsu/@upspellT(SummonShinsu,40,43,44,45,47,49)>\
[@upspellT()]
#ACT
MOV A1 %ARG(1) ---> SummonShinsu
MOV D1 %ARG(2) ---> 40
MOV D2 %ARG(3) etc etc etc
MOV D4 %ARG(4)
MOV D5 %ARG(5)
MOV D6 %ARG(6)
MOV D7 %ARG(7)
then refer to A1, D1, whatever...... I assume you can see how this would reduce things
I'm not quite sure how you are going to record the items level but you could check the item level is => but not over a certain level quite easily, that would mean people couldn't bypass a level and go straight from lvl 1 to 7 or whatever.
This is after a quick look at the script so if I missed something where you've already covered this I appologise
Otherwise an interesting idea.