Alright. I managed to create the effect, both the commented out version and KevL spawned it, quite high but that's fixable. But I think I've done something wrong with the effect itself and therefore I cannot test if the path I want it to take works.
#include "x0_i0_position"
void main()
{
object oPC = GetPCSpeaker();
object oBook1 = GetObjectByTag("plc_li_pl_book1");
object oTarget= GetObjectByTag("plc_li_ray_target");
//vector V1 = GetPosition( oTarget );
//vector V2 = GetPosition( oBook1);
//vector V3 = V1 - V2;
//float fFace = VectorToAngle( V3 );
effect eFX = EffectNWN2SpecialEffectFile("roe_beam_steeps");
//location lEffect = Location(GetArea(OBJECT_SELF), V3, 6.0);
//ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eFX, lEffect, 0.0);
//}
location lEndLoc = GetAheadLocation(oBook1, DISTANCE_MEDIUM);
object oEndTarget= GetObjectByTag("plc_li_ray_target");
DelayCommand(0.8f, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eFX, oEndTarget, 0.0f));
}
Now, this is how the effect looks in the toolset.

And this how it looked in game.

No clue why. But I think this is what I need to fix in order to test it and see the projectile path.
Edit: Tested with a binding blast ray (stock effect) and this is the result.
I don't know how visible it is, but there is a starting point and ending point, ending point being the ground where I want it. This is good news. But where's the ray?

Edit2: I forgot to refresh the script on the conversation which starts this, and this is why I was getting the point above the book. Now, with KevL's version I only get the sparkles on the floor. Maybe all it needs is some elevation, perhaps the ray is underground?
In general KevL's version throws the effect where we want. It doesn't seem though to have a starting point. Except if underground as said, or vertical and underground...