sprintf returns an integer, not a char array. I can't do something like this:
No, you can't. But, you can (and should) do:
char buffer[20];
sprintf(buffer, "L%05d",altitude);
ea.drawText(100,100, buffer);
As I wrote, I have to display a rather big amount of various numerical data, so I'm looking at some major rewriting... *sigh*
Quit moaning and get started.

The fact that you started out in the wrong direction doesn't help you.
You may be able to write some functions to minimize the amount of work involved.