How can random array access be considered $O(1)$ if bits must be stored in space and light travels at finite speed?
When we talk about "running time" of algorithms, we don't mean literally time in seconds but number of operations in some abstracted machine model. In such a model, accessing a memory cell is taken to be a single operation, taking unit time.

Note that this is hiding much more significant details of real computers than the speed of light across a chip.  Whether or not the required data is in the cache will have a much more significant effect than any consideration based on the speed of light.