It's important to recognize you now have an additional coordinate system. You already have world coordinates (the game objects in Unity) but you also have "grid coordinates". Your top left tile is 0,0. The one to the right of it is 1,0. The one below is 0,1.
Consider the world point 200,300. If your tiles are 100x00, world point 200,300 corresponds to grid coordinate 2,3. The math to turn, say, world point 250.6,320.5 into a grid coordinate is slightly more involved than just dropping the decimal. There may be better options here's the math with the modulo operator (%) to ensure you're working on tile boundaries. (Eg, you want 400 instead of world point 487.392.)
(int)(250.6) = 250
(int)(320.5) = 320
250 % 100 = 50
320 % 100 = 20
250 - 50 = 200
320 - 20 = 300
[200,300] / 100 = 2,3
With that above math, from any world point you can get any tile coordinate.
You can then turn any tile coordinate into a tile index, assuming you know how many tiles in each row. Given tile coordinate 2,3:
TilesPerRow = 12
((3 * 12) + 2) = 38
You don't actually need to associate a number with a tile. You just need to know each tile's X and Y coordinate. Of course, you certainly could pre-calculate these indices and store them, along with each tile's X and Y as a property in Unity, but you can turn any "world coordinate" into a "grid coordinate", and then into a tile index, as long as your tiles either start at 0,0, or the middle tile is always 0,0 and you store the number of tiles across/down somewhere. (Using a starting tile index other than 0,0 left as an exercise up to the reader but it pretty much just involves subtraction, to act as if that top left tile is at world coordinate 0,0).
So, with your box game object, its coordinate can tell you what tile it's in. Or multiple tiles, if it's larger than a single tile, if you treat it as a rectangle.
All that said, it sounds like you're fairly new to both Unity and programming in general. If you prefer to stick with your original solution, that 2D array needs to be on a globally accessible object. It could be a static variable on a component script that is attached to your tile objects. If none of that makes sense, perhaps following a few more Unity tutorials is in order.