How could I mark chunks easily?

I'm making a Tileman inspired datapack where you can unlock chunks (by getting them cloned to you into an empty world), making sure that the player can only unlock chunks every 16 blocks proven to be quite easy using some scoreboards. But now I ran into a different problem, how could I mark a chunk as loaded(unlocked) by the player in the empty world? For now what I do is get the player's coordinates and if the X and Z coordinates % by 16 is 0 it can be unlocked, but this way chunks can be just refreshed (It'll have a cost later, but still). I was thinking on summoning a marker but I cannot really test if there is a marker anywhere 16 blocks around you horizontally, disregarding the markers Y coordinate (unless I'm missing something). (Of course I could also summon a marker every 8 blocks from Y -64 to 256, and then detect if they are closer than 16 blocks, but this doesn't feel like a good solution) As for storing the chunk coordinate in a scoreboard or something, I don't know how that could work, now that I'm thinking about it. Like I could choose an arbitrary number like 20000 and multiply the X coordinate with it and then add the Z coordinate to it, this way every chunk would have a unique number up to 20000 or the Integer limit, but this feels hacky. Is there any better way to go about this?
Continue to help post