Stonetec and Aquamix are two good brands. There are all sorts of different types of sealers, so first, you need to understand what you are trying to accomplish: wet look, enhancing, essentially invisible all are choices. Unless your tile is unglazed, porous, or a natural stone, it is unlikely that it will absorb any sealer. It doesn't matter if you get sealer on the tile itself, BUT, it is essential that you don't let it DRY on the tile. If you do, since it can't sink in and be absorbed, it will leave streaks that can be a pain to get off. The instructions always tell you this, but if you don't follow it, you'll have problems. Buff off any that got onto the tile before it dries, and you should have no problems. Note, it may take several coats to fully seal the grout the first time.
Sealer will NOT prevent it from absorbing moisture or staining if there is standing water or long term dirt that is not cleaned off, but it will slow it down and let you rinse it off before it has a chance to stain.