Dave might correct me on this, but I don't think there is a way of doing this without each spindle being unique.
In my mind, the easiest way to do this would be to make the top rail a component, but not the spindles. Select all the spindles and the top rail, right click and press 'intersect selected'. Then right click on the top rail and press 'hide'. You can now use the eraser to delete the top of the spindles where they protrude above the rail. Once you have done this, go to View>Hidden Geometry, right click on the top rail and press 'unhide'.
I hope that makes sense.