Forget world aligned and all o that. The boulders need to be positioned at any height - world aligning their texture makes little to no sense.
You want a system that let’s you adjust per-instance when needed. And globally when you don’t.
I would create a simple mask based on the object size.
You have Object Bounds which you can mask Z on. that should get you the height
You have Object Orientation - it may not matter, but you can use that to affect the water line based on object rotation with some math.
I’d have to try it hands on myself to concoct something with it, but the base idea is you mix the 2 parameters as the Alpha for a lerp.
Then you set the values of the lerp to be 0 for the dry part, and 1 for the wet part. And you just plug it into Specular.
You can also use a UV Mapped texture of the unwrapped rock (the lightmap UP is probably perfect for this) to manually paint the areas.
OR - maybe even better - you could use Vertex Paint to create the area where the water should be done on a per instance basis within the level as well. Sure, going in and painting them all is a time consuming thing.