On any device, the various memory regions are at specific physical addresses and simply cannot be merged or, in fact, be moved in any way at all.
I assume that you are coding in "C" rather than directly in assembler.
Depending on the flavour of the IDE (Kiel, LPCXpresso, etc.) there are ways to locate specific parts of your code in specific memory areas.
This is a combination of source code directives and linker control file settings.
[See your documentation as I am not going to go into details.]
In your code, simply call your various functions. If the target address is beyond the distance that is legal for a branch instruction,
the linker will automatically insert special fixups (known as veneers) to handle things correctly.
In short, you can't merge memory regions and you don't have to anyway.
Regards, Mike.