I'm in the same situation as you, OP. Here's what I do:
For 2.5 gallon batches, I do full boil. Aim for about 3.5 gallons at the start of the boil. This is pretty straight forward.
For 5 gallon batches < 1.050, I do a concentrated boil. I also aim for 3.5 gallons, but it doesn't matter as much because you'll be topping off anyway.
For 5 gallon batches > 1.050, you pretty much have to use some extract. This is really just a matter of not being able to fit all of the grain in the pot without it spilling out.
That being said, for the 2.5 gallon batches, I mash with the full volume of water. After mashing, I heat the water up to 170 F and let it sit at that temperature for about 15 mins. For the bigger 5 gallon grain bill, I have to sparge in a separate container. I heat the sparge water to 170 F and dump it into my fermenting bucket. Then I dunk the grain bag and let that sit for 15 minutes. After that, I combine that liquid with the wort in the kettle.
You can use the Simple BIAB calculator to get the necessary volumes. Just put the starting boil volume in the spot for finished beer and put a zero in for trub loss.
One more thing, if you are working with a 5 gallon recipe, plug that recipe into a recipe builder and make note of the IBU. When you scale down the boil, you need to add more hops to make up for the lower utilization.