ya you probably could, but keep in mind that unless you tell the assembler otherwise, it will think that all addresses are relative to the .org directive, which just tells it where the first address is and whenever it encounters a label, it calculates the address of the label by adding the distance from the first instruction to the address (defined by .org) of that instruction.
In otherwords, when it's in RAM or ROM and you used absolute addressing (jp's instead of jr's), any jumping that occurs within that external program, probably won't work because the absolute addresses are incorrect (it will jump to places in the $9d95 region because the assembler recorded those addresses for absolute jumping), relative to where it is in RAM/ROM. but if you use jr's I'd assume it's ok, since jr simply adds up to +/-128 to the PC to make the jump.