However, if you are able to pass along that result
I'm sorry, but don't understand what you're asking for. Your refactored code seems to do exactly what you've described--well done!
The only thing I can think that you might be asking for is to allow one to arbitrarily define the horizontal constraining line instead of hard-coding it. Maybe something like this (I've changed some of the parameters just because I liked the look better):
Manipulate[
Graphics[
{Darker@Green, Line[{{-constraint, 0}, {constraint, 0}}],
GrayLevel[.5], Line[{-.5 length {Cos@angle, Sin@angle}, .5 length {Cos@angle, Sin@angle}}],
Black, PointSize[.02], Point[{0, 0}],
Blue, TranslationTransform[p][Line[{-.5 length {Cos@angle, Sin@angle}, .5 length {Cos@angle, Sin@angle}}]]},
PlotRange -> {{-10, 10}, {-10, 10}},
AspectRatio -> 1,
Frame -> True],
{{constraint, 5}, 0, 10},
{{p, {0, 0}}, {-constraint, 0}, {constraint, 0}, Locator},
{{angle, Pi/4}, 0, Pi},
{{length, 10}, 1, 20}]