EDIT:
You can use waypoints. You'd need a vector map of the area (see below). From the creatures's initial position and direction, calculate the wall intercept. Create a waypoint there and run to it. Repeat for each reflection.
You'd need to test whether it's fast enough to look like an elastic collision - there is a slight delay in the action queue to change direction.
Triggers could be used, but, by default, all triggers have a facing of zero degrees, and their position is an arbitrary vertex. Rather than mess with that, it's probably easier to store the vector that the wall represents. A convenient way of doing that is a pair of waypoints, one at each end of the wall.
You might want to use triggers as a supplement to this method, to simplify the maths of knowing when a collision has occurred, but triggers alone won't hack it. The reason is that NWN actions can move to an object or a location, but not in a direction, so whatever you do, you'll end up moving to waypoints or the like.
For placeables, you'd need 4 vectors for a rectangular object, at least 8 for a round object, and so on. To save work, you might store the placeable's shape and dimensions as local variables, then calculate the vectors. Remember, the engine will path find around a placeable unless the creature is moving to a waypoint just in front.
If there are creatures in the area, the "ball" will need the cutscene ghost effect, otherwise the engine will apply its own collision avoidance and impact rules. You'd need to be careful with placeables, too, as the engine will path find around them, unless the location moved to is in front of them.