1) Yes, using this configuration at nodes outside the currently flooded area (and with hh in gw lower than river water level) you will still get infiltration. The only way to limit the area in this case would be to use different time series on all nodes, depending on the time they are flooded. This is not easy to set up and hard to maintain for different scenarios for river levels.
2) Yes, this can be done at least in the last few FEFLOW releases, and it is definitely the preferred option. In one or two older versions, though, (maybe 6.x or 7.0, not sure) FEFLOW will reverse the flow in case that the river water level (transfer bc value) is LOWER than the river bed elevation (head constraint) as the differential between water level and constraint becomes negative. In even older versions FEFLOW will ignore the constraint in this case, hereby possibly creating way too much inflow from the river where none should occur. So if you're not using 7.2 or 7.3, please check with a simple test example.
3) I guess you could (as far as I know it supports limiting the BC area to the flooded area), but the main reason for using this is normally the need for keeping a balance within the lake / river.