In linear plot, this can be achived by Locator like this:
https://mathematica.stackexchange.com/a/24935/13580
data = Table[{x, x x }, {x, 0, 100}];
Manipulate[(p1 = Sort[p][[All, 1]];
lm = LinearModelFit[Select[data, (p1[[1]] < #[[1]] < p1[[2]] &)], x, x];
Show[ListPlot[data, PlotRange -> 10^4 {-1, 1}],
Plot[lm[x], {x, 0, 100}, PlotStyle -> Red]]),
{{p, {{1, 0}, {100, 0}}}, {1, 0}, {100, 0}, Locator}]
But in logrithmic plot, Locator seems not work, possibly because it only returns a linear coordinate in a graphic.
The following code is adapted from above. One locator is missing, and the other does not return desired coordinate.
data = Table[{x, x^2 + RandomInteger[10]}, {x, 1, 100}];
Manipulate[(p1 = Sort[p][[All, 1]];
nlm = NonlinearModelFit[
Select[data, (p1[[1]] < #[[1]] < p1[[2]] &)], a x^b, {a, b}, x];
Show[ListLogLogPlot[data, PlotRange -> 10^4 {0.00001, 1},PlotLabel -> {nlm[x], p}],
LogLogPlot[nlm[x], {x, 0.1, 100}, PlotStyle -> Red]]),
{{p, {{1., 1.}, {100., 1.}}}, {1.,1.}, {100., 1.}, Locator}]
One alternative is to take log of the data, then use linear fitting. But I hope there is a direct way without this extra step.