Generating a spline from centers of multiple mesh
Not sure about the normals part, but you can easily create a bezier curve running through selected object centers with the builtin Btrace addon.

Under User Preferences > Addons activate the BTrace addon.

In the 3D View ToolShelf > Create > Btrace choose Object Connect.

Select the desired objects and press the Run button at the bottom of the panel.



If you desire a smooth curve, you can then enter Edit Mode on the created bezier and change handle type to Smooth by selecting all vertex pressing V > Automatic.



Not sure how you want your normals represented, curves have a builtin Offset property from the Properties Editor > Object Data > Offset which allow you to add an offset to the original curve, but you can't easily access the resulting points coordinates.



You may optionally extrude the curve slightly and convert to mesh, then access face normals.