... Is there a way to tell if a targeted player is in line of sight?
There is currently no way to tell if the targeted player is in line of sight. You only get this information after you attempt to cast.
You can try my GridStatusLineOfSight module which will give you a temporary status indicator *after* the error occurs to sort of "flag" the player (temporarily) as out of line sight. The duration of the status is configurable. I find it useful for helping to catch line of sight errors (I sometimes miss the error text or it gets clobbered by a "clear error frame" call from a macro.) It's also useful in BGs when you're spam healing in an area to remind you of who was out of line of sight on previous casts.