Why is a weak base more able to deprotonate a strong acid than a weak acid?
The key is that water is the great equalizer and mediator. Let's deal with weak and strong base first: You are right that a sufficient quantity of a strong base would have the same effect. In this particular case, the hydrogencarbonate will separate into $\ce{CO2}$ and water on protonation and we can assume that most of the carbon dioxide will bubble out. So it will functionally not make a difference whether you started with $\ce{NaOH}$ (a strong base) or $\ce{NaHCO3}$. This is a part of the equalizer part: in an aqueous solution, you cannot have a stronger base than $\ce{OH-}$, because any stronger base will just deprotonate a readily available water molecule.

To some extent, even weak bases will do so in an equilibrium. To understand how a proton gets from an acid to a base, we have to understand the structure of water: A water-based solution like the one from the question is a huge network of water molecules engaged in hydrogen bonding with each other and mainly electrostatic bonding to ions. A when a proton "moves" through this network, it will basically jump from one water to the next, and that water will give up a proton to the next etc. (This is the reason for the huge mobility of protons in water as measured by conductivity experiments.) Thus, an acid and a base such as $\ce{RCOOH}$ and $\ce{HCO3-}$ do not have to come close to each other to effectively transfer a proton between them.

Thus the question "How does the base know to deprotonate the strong acid instead of the weak acid?" loses its basis. In an equilibrium, the stronger acids and bases will deprotonate and protonate more, respectively, than their weaker counterparts because that's what acid/base strength means.