I actually only use PKSV. It's more of an interpreter on top of an interpreter. It's essentially the same deal as byte code, but lower level. The poke script is above ASM, but below C. It's essentially what would happen if you made a programming language that's just a series of sub routines, but without the refinements and automation that make higher level languages what they are.
I guess I don't understand what you want to do, please explain.
I'm not treating you like an idiot. If I don't know what you know I just explain things a bit more than I normally would.
Like, we have to declare our strings by hand because of the limitations of working with a ROM. Before we could have a tool that allows us to freely declare strings(constants in general, really) we have to have a tool that fully decompiles and recompiles the game, which just simply isn't going to happen.
You know, there are spatial constraints. The only way to get around those is to first double the ROM size and work from the new space. Then you can declare strings and other things without having to be able to de/re compile the whole game.
Also, keep in mind that when you're writing scripts here you're not actually compiling anything. That word gets thrown around a lot I've noticed, but it isn't actually a correct usage. Another thing I meant about the whole missing abstraction layer thing is that scripting for pokemon roms is 1:1 with the binary file, which isn't something that happens in ASM even.