You can use the low_search_update_index hook in Low Search to index relationship fields inside Grid fields - I've done this before.

There's a ready-made extension available which does this for standalone relationship fields ... it doesn't do Grid fields, but it would be easy to modify the query inside the extension to do so.

So, stick with the relationship inside the Grid, since it meets all your other requirements, and the search bit is solvable.

Better dropdown fieldtype to handle long lists?
Do Americans pronounce "Ellen" and "Alan" in the same way? I am especially concerned with the first vowel.

EDIT:

Here is a quote that may be a case in point:


  Being a Brit also, the names "Ellen" and "Alan" tend to sound the same
  when spoken with an American tongue. It was just unfortunate that the
  child was very tom boyish and had an ambiguous sounding name


Context: discussion on why they chose a boy-looking girl for the movie "Fatal Attraction"

Link: http://www.imdb.com/title/tt0093010/board/thread/186160978?d=186229310&amp;p=1#186229310
