Addressing as in: given a binary number N, send some electrons down wire number N.
My vision for RAM is to have a long set of loops (one for each wird) and then addressing is used to send read/write signals to the correct loop.
Here's how the wireworld computer did it: One signal is sent from the "cpu" to the far end of the memory bank, at which point it turns around. After some delay, another signal is send down the memory bank. Those signals eventually meet each other, and the point of collision indicates the desired address. By controlling the delay between signals, the meeting point is changed.
That approach is useful because each action takes constant time, regardless of the address. The downside is that the time taken equals the time for a signal to go all the way to the end of memory and back.
Idea: we could make some special-purpose gates (or a larger circuit) that does the following:
Given an input from the bottom, the circuit passes it out the top. Furthermore, it allows a signal from the left side through to the right side IFF the signal from the bottom matches the type of gate that it is.
There would be two versions: one that allows the left-right signal through only when the bottom input is true, and one that does the same only when the bottom input is false.
Here's how it would be useful: We have a chain of these gates hooked up left-to-right. Then, when a parallel number is supplied at the bottom, then it allows a signal through the chain only if the address matches that particular chain.