If you want data to persist across a reprogram of the board I don't think this will be achievable with the linker alone. The programming (loading the program into the flash of the microcontroller) of the board is controlled by the bossac application. I'm pretty sure that the default Arduino IDE configuration of bossac is to force and erase of the entire flash before uploading your sketch.
It might be possible to control bossac in such a way that it will only erase a certain range of pages of the flash memory. (Sorry, I'm not a bossac expert and haven't even played around with any settings but the defaults.)
If you want a small number of values to survive a reprogramming (flash erase) you might consider using the UICR section of flash in the nRF52840. There are only 32 registers in this reserved space. However, you should be able to set the Access Port Protection to prevent these 32 registers from being erased when an erase all flash command is issued by bossac. (Note, I've not tried this myself, I've only read the documentation.)
The nRF52840 doesn't seem to offer individual page protection of pages in the flash memory. So, other than the use of the UICR registers I don't thing you can preserve portions of memory from a reprogramming.
Perhaps, we can find an answer to your question if we understand why you want to retain information even though you've reprogrammed the system?
Thanks for the reply!
I can do without data persisting across a reprogram, but it is convenient.
In my use case the Arduino controls a mechanical system where I need to permanently store the mechanical state of the system. This has to be done on a frequent base, so I also log the number of programmings to see whether I am nearing the limit of the maximum number of programmings.
It is convenient to leave that data intact when installing a new version of the system.
It would be convenient if bossa, via a new option, is able to only erase the pages to be overwritten.
In my case I can use the UICR because there are only 8 values to store.