Ok, solved. For anyone with the same issue, I used MSP430 intrinsics, which allow writing, reading the upper memory, without having to use a large memory model and without the need of writing assembly.
FCTL3 = FWKEY;
FCTL1 = FWKEY+WRT;
__data20_write_char(longAddress, byte);
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY+LOCK; // Set LOCK bit