One big improvement you can make is to cut out unnecessary options using "Else", which will function as "None of the above":
[Alpha;Alfa;Bravo;Charlie;Delta;Echo;Foxtrot;Golf;Hotel;India;Juliett;Juliet;Kilo;Lima;Mike;November;Oscar;Papa;Quebec;Romeo;Sierra;Tango;Uniform;Victor;Whiskey;Xray;Yankee;Zulu;space;dash;plus]
Begin Boolean Compare : [SpellingActive] Equals True
Begin Text Compare : [{CMD}] Ends With 'plus'
Press = key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Ends With 'space'
Press Space key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Ends With 'dash'
Press - _ key and hold for 0,06 seconds and release
Else
Set Text [key] to '{TXTSUBSTR:"{CMD}":0:1}'
Press variable key(s) [key] and hold for 0,06 seconds and release
End Condition
End Condition
As the NATO alphabet logically uses words that start with the letter you want, you can isolate that letter and use it directly. "plus", "space", and "dash" are exceptions, so they're placed above the "Else" action, making it "if not an exception to the rule, use the first character of the command phrase as a keypress".
[Landing Pad;][0..40;Zero;One;Two;Three;Four;Five;Six;Seven;Eight;Nine]
Pause 0,5 seconds
Begin Text Compare : [{CMD}] Starts With 'Landing Pad'
Say, 'Landing Pad'
End Condition
Pause 0,5 seconds
Begin Text Compare : [{CMD}] Does Not Contain 'Landing Pad'
Else If Text Compare : [{CMD}] Equals 'One'
Press 1 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Two'
Press 2 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Three'
Press 3 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Four'
Press 4 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Five'
Press 5 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Six'
Press 6 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Seven'
Press 7 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Eight'
Press 8 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Nine'
Press 9 key and hold for 0,06 seconds and release
Else If Text Compare : [{CMD}] Equals 'Zero'
Press 0 key and hold for 0,06 seconds and release
End Condition
Begin Text Compare : [{CMD}] Ends With 'One'
Say, '0 1, green left, approach with Caution, Danger close.'
Else If Text Compare : [{CMD}] Ends With 'Two'
Say, '0 2. Green right, Warning, steep approach'
Else If Text Compare : [{CMD}] Ends With 'Five'
Say, '0 5, green left, approach with Caution, shallow right Danger close.'
Else If Text Compare : [{CMD}] Ends With '7'
Say, '0 7, green left, Middle right of Station'
Else If Text Compare : [{CMD}] Ends With 'Seven'
Say, '0 7, green left, Middle right of Station'
Else If Text Compare : [{CMD}] Ends With 'Nine'
Say, '0 9. Green right, short approach'
Else If Text Compare : [{CMD}] Ends With '10'
Say, '1 0. Green right, long approach'
Else If Text Compare : [{CMD}] Ends With '15'
Say, '1 5, green right, Back left of station'
Else If Text Compare : [{CMD}] Ends With '17'
Say, '1 7. Green left, short approach'
Else If Text Compare : [{CMD}] Ends With '24'
Say, '2 4. Green left, short approach'
Else If Text Compare : [{CMD}] Ends With '25'
Say, '2 5. Green left, long approach'
Else If Text Compare : [{CMD}] Ends With '32'
Say, '3 2. Green left, short approach'
Else If Text Compare : [{CMD}] Ends With '33'
Say, '3 3, green right, Back right of Station'
Else If Text Compare : [{CMD}] Ends With '39'
Say, '3 9. Green right, short approach'
Else If Text Compare : [{CMD}] Ends With '40'
Say, '4 0. Green right, long approach'
Else
Say, 'None.'
End Condition
Same applies here: If there is no landing pad by that number, there's no need to treat it differently from all the other numbers that don't link to a pad.
I've also removed the numeric representations for 0-9. The built-in speech engine will always return them as text(not sure about Speech Platform 11 though).
Even if you still want that in, you could use "Or" by utilizing the condition builder(VoiceAttack v1.6.4.1 or higher required), or use the "{TXTNUM:}" token to translate it to a variable keypress.