The simple answer is you can't.
The data is copied to RAM and later read from there. It needs to be stored in RAM because it will need to be modified to update the level number in the PPU macro.
This makes things more difficult, because not only do you need to relocate the data to free space in the ROM, but you also need to load the data into free RAM, and then you need ASM to load the new data from ROM to RAM. (You can't just re-point this one piece of data because the old data is part of a larger chunk that's all loaded at once.)
You can use this code to load the new PPU data into RAM. The new data is included in the code.
destStart = $7F00
dataSize = endOfPpuData - ppuData
destEnd = destStart + dataSize
HijackReturn = $809F
CopyBytes = $80D7
.org $BE00 ;0x1be10
; We need to run the code that our hijack displaced
JSR $80C6 ; LoadSomePointers
JSR $80D7 ; CopyBytes
; Source address
; Dest addresses
.db $20, $42 ,$09, $15, $12, $1F, $0E, $15, $15, $18, $62, $00, $FF
; PPU dest, len, L I V E L L O space - end
This is the code in assembled form, which you can copy to 0x1BE10 in the ROM.
20 C6 80 20 D7 80 A9 24 85 00 A9 BE 85 01 A9 00
85 02 A9 7F 85 03 A9 0D 85 04 A9 7F 85 05 20 D7
80 4C 9F 80 20 41 09 15 12 1F 0E 15 15 18 30 62
We need a hijack to run the above code.
JMP $BE00In assembled form (copy to 0x180A9):
4C 00 BE
Finally, we need to update two pointers. The first pointer tells the game where to load the PPU macro from to write "LEVEL" on the screen. We change this to $7F00 (write 00 7F to 0x1A01C). The other pointer tells the game which byte in the PPU macro to update with the level number. We change this to $7F0B (write 0B 7F to 0x17040).
It seems rather elaborate for such a simple change, but it's the best I could come up with. Be aware that I'm not positive that the RAM at $7F00 is unused, but it appears to be.