Indeed ezselection index only IDs. As far as I'm concerned I started from eZ Selection 2 project (http://projects.ez.no/ezselection2) and I tweaked it to give necessary information to search engine.
That's hard to say. Personnaly I went into tweaking ezselection2 but the solution is not very stable ...
The problem is that there is no real solution to handle selection. If your problem is only indexing I would go with a modification of metadata() method of ezselection and make a pull request, but I don't know if that's a BC break or not ...
In fact I would love to know the vision of one eZ Engineer about all the problems around ezselection .... Maybe something is planned for next release :)