If you split the lines using SplitLine (or the toolbox tool Split Line At Vertices)
The new lines will still have any original line ID you may have used
and be in order in the table from original from onwards.
You can identify the individual parts in order and add a segment ID.
For example, add an integer segID field to your table
and you already have your origLineID field:
Use an update cursor to run through the table and for each new origLineID,
you start with a segID of 1, and each time the origLineID stays the same, you increment the segID.
With line and segment ids, you can create a dictionary of a list of
incidence angles, in segment order, for each original line
Then it is always differences between adjacent pairs of angles.
This is all just off the cuff: no warranties...