Panel definitions have a thing called .ZVARS, which is effectively a list of variable names. In the panel, you can use Z as a variable as many times as you want. The first gets mapped to the first variable in the .ZVARS list, the second gets mapped to the second, and so on. This allows you to have one-character fields, but use proper variable names in your application.
It's been a while since I've used it, so my syntax may not be quite right, but if you search the manual for ZVARS you should get the idea. The only catch is that you have to have the same number in the list as you have on the panel, and if you mix up the sequencing you can get some pretty strange results.
From memory, the ISPDTLC utility that generates panels from DTL markup uses ZVARS, so you might be able to generate an example...