Hi Koushik,
Use Epilog
rather than GridLines
.
P1 = BodePlot[TF1,
PlotLayout -> "Magnitude",
PlotStyle -> Directive[Green, Thick],
Mesh -> {{{-3}}, {{16659.759374487337}}},
MeshStyle -> PointSize[Large]]
P2 = BodePlot[TF2,
PlotLayout -> "Magnitude",
PlotStyle -> Directive[Orange, Thick],
Mesh -> {{{-3}}, {{5377.124388436974}}},
MeshStyle -> PointSize[Large]]
epilog1 = {Green, Dashed,
InfiniteLine[{{Log10@16659.759374487337`, -25}, {Log10@16659.759374487337`, 0}}]};
epilog2 = {Red, Dashed,
InfiniteLine[{{Log10@5377.124388436974, -25}, {Log10@5377.124388436974, 0}}]}
Show[P1, P2, Epilog -> {epilog1, epilog2}]

I don't understand the second part of your question. If you want to add additional horizontal or vertical lines or points, add them to the Epilog
.