How do I make various objects point at/follow a path?
You can definitely use a path.


 RMB select the first house and add two constraints.


A Follow Path constraint. Choose the Curve object as the target. Then check Follow Curve and Fixed Position. The offset has to vary for each object, for the first object we will leave it at 0.0.
A Limit Rotation constraint. Check Limit X and Limit Y. This prevents objects from tilting sideways. We only need the Z rotation.


&#8679; Shift RMBSelect all other houses, lastly add the constrained object to the selection. Copy the constraints to all houses by going to Objects > Constraints > Copy Constraints to Selected Objects.
Adjust the Offset value for each house. E.g. [0, 0.25, 0.5, 0.75, 1]