Can the Bitcoin protocol support very small transactions effectively?
The answer is multifaceted.


Microtransactions were not a design goal of Bitcoin. Even if they're not well supported, that's ok.
Off-chain transactions might be used if on-chain microtransactions are too expensive.
There are a few possibilities to implement microtransactions on the blockchain. One such implementation was recently added to bitcionj. Also see this interesting proposal for nondeterministic nanopayments.
Alt chains for microtransactions are a viable solution as well.


TL;DR - it's not a problem.