Here's how I'd do it. Starting with diffcoord
diffcoord = {{2.87796, 29.2153}, {-13.6571, -19.1573}, {2.9201,
8.7201}, {3.52192, -16.1424}, {0.53561, 19.1832}, {3.76663,
3.32865}, {-11.0295, -10.1585}, {14.9637,
19.0262}, {-12.4468, -28.5079}};
Pair each element with the next and Dot the pairs.
Dot@@@(Transpose@{diffcoord[[1;;-2]],diffcoord[[2;;-1]]})
The output is
{-598.991, -206.934, -130.479, -307.777, 65.8716, -75.3581, -358.32,
-728.647}
There is certainly a more clever way to combine the two if you need to do this on huge lists, but this makes sense to me.
Edit: @Guess who it is reminded me that Partition
has a 3rd argument to specify an offset, which makes this a lot nicer looking!
Dot@@@Partition[diffcoord,2,1]