I use SourceCoder 2 for getting the code of my large programs from calc to computer text.
I'm not sure if this will be smaller, but you could have the Periodic Table on a picture variable, with all the information anyone needs to know on each square, and clearly readable. Perhaps use multiple picture variables of portions of it. Have the user input which element they want, then recall the proper picture and erase the portions of the graph that make the other squares. To make it look spiffier, you could somehow hide the graph until it's done, and scroll it to the center or the upper left corner. That's not feasable in BASIC, though. ASM Libs, anyone?
You might want to use Xeda's MultiPics for multiple pictures.
I'm not sure if this will be smaller, 'cause I haven't tried it. I'm just going to do a few calculations.
With 1 picture for each square, you'll be able to fit everything anyone ever wanted to know about an element on it. But that's 767 bytes per element, or 90,506 bytes for all 118 plus about 200 bytes for the program itself.
With 4 squares per picture, you'll still be able to fit a lot of information on it. That's about 192 bytes per element, and 23,010 bytes for the whole thing plus about 200 bytes.
At the bare minimum, just displaying the Atomic # and Molar mass, you'll be able to fit 100 elements on a picture. So 2 picture variables is 1,534 bytes plus about 200 bytes for the program.
How large is yours?