This is mainly to construct a dotted triangle, which works when the blade is hidden inside the model, because no matter whether the blade is blocked by the model or not, the constructed triangle can be seen by the user when the user adjusts the target. Of course, the size of the blade can also be adjusted to tell the user the current direction.
Yes but in my opinion, there is no need for the user to know how you calculated your angle. Maybe it could be interpreted as “the blue guide is part of your chain” instead of “the blue guide is a helper for the orientation”. Which can lead to a misunderstanding and a bad alignment of the guide. It’s just how I see things 
The offset does not affect the position of the “up vector guide”. “Blade Roll Offset” and “aim value is set on True” are two independent settings, which do not affect each other. Each of them affects the blue “blade” independently, but I have achieved the result of superimposing the two methods to affect the blue “blade” together.
That’s nice to have them separated to avoid cycles, but if you use scriptnodes, maybe you could lock the attribute when the bool is set on True, so the user won’t say “my parameter doesn’t affect anything”.