I used that method in one game but decided it wasn't going to be part of the toolkit - it was too game specific for it to be worth putting in there. It also added getcomponent overhead when used with any large numbers of sprites, so I have abandoned that approach as a general solution.
This may be a better solution that is easier to implement - create a behavior to the prefab that contains whatever string you need. In the awake function, make it add the value to a static dictionary OnEnable and remove it in OnDisable. Now when you need to find data at a particular tile, you can use this dictionary to find if it exists at a particular coordinate, and get the behaviour, and indirectly, the value.