Edit
Clear["Global`*"];
pts = {{0., 0.}, {10., 0.}, {5, 8}, {1, 6}} // Map@N //
Rationalize[#, 0] &;
reg = Polygon[pts];
L = 8.0 // Rationalize;
conditions =
Exists[{x1, y1, x2,
y2}, {x1, y1} ∈ reg && {x2, y2} ∈
reg && {x2 - x1, y2 - y1} . {x2 - x1, y2 - y1} >= L^2,
x == (x1 + x2)/2 && y == (y1 + y2)/2];
results = Resolve[conditions, Reals] // FullSimplify;
plot = RegionPlot[results, {x, 0, 10}, {y, 0, 10}, PlotPoints -> 80,
MaxRecursion -> 4, Prolog -> {EdgeForm[Cyan], FaceForm[], reg}];
domain = DiscretizeGraphics[plot];
nearest = RegionNearest@domain;
pt0 = {x, y} /. FindInstance[results, {x, y}][[1]];
fig[pt_] :=
Module[{instance, vector},
instance =
FindInstance[{RegionWithin[reg, Line[{pt - {u, v}, pt + {u, v}}]],
u^2 + v^2 >= (L/2)^2}, {u, v}];
vector = If[instance =!= {}, instance[[1]], {u -> 1, v -> 0}];
Show[plot,
Graphics[{Red, AbsolutePointSize[5], Point[pt],
Arrow[{pt, pt - L/2 Normalize@{u, v}}],
Arrow[{pt, pt + L/2 Normalize@{u, v}}]} /. vector,
PlotRange -> {{0, 10}, {0, 10}}]]];
Manipulate[
fig[pt], {{pt, pt0}, Locator,
TrackingFunction -> {pt = nearest@#; &}}, SaveDefinitions -> True]

Original
Clear[pts, reg, L, conditions, results];
pts = {{0, 0}, {10, 0}, {5, 9.}} // Rationalize;
reg = Triangle[pts];
L = 8.0 // Rationalize;
conditions =
Exists[{x1, y1, x2,
y2}, {{x1, y1} ∈ reg, {x2, y2} ∈
reg, {x2 - x1, y2 - y1} . {x2 - x1, y2 - y1} >=
L^2}, {x == (x1 + x2)/2, y == (y1 + y2)/2}];
results = Resolve[conditions, Reals] // FullSimplify;
Show[Graphics[{EdgeForm[Red], FaceForm[], reg}],
RegionPlot[results, {x, 0, 10}, {y, 0, 10}, PlotPoints -> 50,
MaxRecursion -> 4]]


- We can test convex polygon.
Clear[pts, reg, L, conditions, results];
pts = {{0., 0.}, {10., 0.}, {5., 8.}, {1., 4.}} // Rationalize;
reg = Polygon[pts];
L = 8.0 // Rationalize;
conditions =
Exists[{x1, y1, x2,
y2}, {x1, y1} ∈ reg && {x2, y2} ∈
reg && {x2 - x1, y2 - y1} . {x2 - x1, y2 - y1} >= L^2,
x == (x1 + x2)/2 && y == (y1 + y2)/2];
results = Resolve[conditions, Reals] // FullSimplify;
Show[Graphics[{EdgeForm[Red], FaceForm[], reg}],
RegionPlot[results, {x, 0, 10}, {y, 0, 10}, PlotPoints -> 50,
MaxRecursion -> 2]]

- Or random convex polygon.
SeedRandom[10];
reg = RandomPolygon[{"Convex", 5}, DataRange -> {0, 10}];
reg = Polygon@Rationalize[MeshCoordinates[reg], 0];
L = 10.0 // Rationalize;
conditions =
Exists[{x1, y1, x2,
y2}, {x1, y1} ∈ reg && {x2, y2} ∈
reg && {x2 - x1, y2 - y1} . {x2 - x1, y2 - y1} >= L^2,
x == (x1 + x2)/2 && y == (y1 + y2)/2];
results = Resolve[conditions, Reals] // FullSimplify;
Show[Graphics[{EdgeForm[Red], FaceForm[], reg}],
RegionPlot[results, {x, 0, 10}, {y, 0, 10}, PlotPoints -> 50,
MaxRecursion -> 2]]
