Something I wrote up. I've been thinking about this for a while. Any input would be nice (Virus, Toe, etc).

Code:
My theory,

Using ASM, make a code that uses your coordinates to compare to your location on the world
map (the layer where the items are stored). For example, in the very top left the 
coordinates read D70F D70F and the item slot location is 0x021E3124. I've found that
the first byte in each coordinate is unimportant to this code. What is important is the 
second byte (0F in this example). This byte increases less rapidly so in each item slot
on the world map (moving across it) this value will only increase maybe 30-40 (dec).

Here is my idea, in each item slot on the world map, you can increase the coordinate by
32 (dec) and you will roughly be in the same spot on the next item slot. So when people
use this code, they use the activator, it rounds this second byte to the nearest multiple
of 16 so it'll put them roughly in the middle of the item slot they are on. This will 
make it easier for the rest of the code. Once they're in the same spot on each item slot we can
add the same value to the coordinates to get the item slot address. Basically, this is a 
way of using the coordinates to get your location on the world map. In theory, you could
use this to make a code that allows you to delete an item you're standing on without
using search and replace and replacing all instances of the item and without knowing the 
item's exact coordinate. 

EXAMPLE:

Item Slot 1 (Top left corner): 0x021E3124
2nd byte of Coordinates (Multiple of 16): 10
Add to address (slot addr-coord): 21E3114

Item slot 2: 0x021E3126
2nd byte of Coordinates (Multiple of 16/add 32): 30
Add to address: 21E30F6

Item slot 3: 0x021e3128
2nd byte of coordinates: 50
Add to address: 21E30D8

I'm stuck at this part. If we get the '2nd byte of coordinates' always divisible by 16 (dec)
and we add 32 to it each time to get onto the next item slot then shouldn't the 'Add to
address' always be equal? Any input to make this work would be helpful. Right now we would
have to not only get the 2nd bytes divisible by 16, but we would have to add 30 to each 
'Add to address' value depending on what the 2nd byte was.

Extremely confusing. I'm hoping the more advanced hackers can help me out. The only reason I posted this in Amateur Coding is because it's a work in progress.