About 2 hours before grilling, prepare the brine. Whisk warm water with kosher salt until dissolved. Squeeze lemons and/or limes into the salt water, adding the rinds as well. Add garlic cloves and peppercorns.
Remove the gizzards or parts form inside the chicken and discard.
Submerge chicken into the brine. Cover and refrigerate for 2 hours but no more than 4 hours.
Drain the chicken well in a colander and discard brine.
Pat dry chicken, inside and out with paper towels.
Prepare a grill fire to about 300° using pecan chunks or hickory for smoke flavor.
Place chicken on a baking sheet or cutting board. Using poultry shears or heavy duty kitchen scissors, cut down both sides of the backbone and discard.
Flip the chicken over and slice between the breasts, not slicing all the way through.
Turn chicken and flatten with the palms of your hands.
Drizzle chicken with olive oil on both sides.
Mix salt, pepper, onion and garlic together and season the chicken all over.
Cook chicken over indirect fire, skin side up, with the grill closed.
Keep grill temperature at 300° to 325°, cooking for about 1 hour and 20 minutes.
Using a digital thermometer, check the chicken at the thick part of the thigh, near the bone.
When chicken reaches about 155°, coat with bbq sauce. Close the lid and continue to cook until internal temperature reaches 160°- 165°.
Remove from grill and rest 10 minutes before slicing.