in C a #define is nothing else than a textual replacement.
Therefore a #define ONE 1
is nothing else as if you would write 1 at all the places you typed in ONE in your source code.
Therefore your question is basically where are all the numbers stored. Well, it depends on how you use the numbers. Most tipically they are causing specific code to be generated and therefore end up in the flash.
I would recomment to read a good C book, i think it will explain a lot of the strange things in the C language you have to learn, then a lot of the things will become clear.
About your actual problem, note that all computations in C are done with int unless some argument has already a larger type (check a good C book for the details...). For the HC08, an int has 16 bits.
Therefore "30000+30000+30000" wont get 90000, but instead "90000&65535" (=90000-65535, whatever that is :smileyhappy:.
If you need 32 bit calculation, use a L suffix ("30000L+30000L+30000L"), this will generate more code of course. If you want unsigned arithmetic, use a U suffix ("30000U+30000U").
Daniel