I think all masternodes should be anonymized if possible. There is a big issue with normal wallets that are not connected to the anonymization network. In that case, I recommendthe default implementation of Dash wallet should use anonymization network. There are ways to make this really user-friendly. As an example, have a look at
http://www.bitsquare.io/. No need to install tor or anything. It just connects you similiar to the tor browser bundle. Very user friendly. (seriously, Dash should hire them to design a wallet for Dash. They make good software).
2) Not all wallets will use anonymity of course. So, there should be public bridges. My belief is that some masternode owners will run their masternode in the anonymity network and also run the public bridge? Why? As we have already seen from the poll results, a certain % of people do not care about anonymity / privacy. Regardless that it strengthens the network from attacks, etc, they don't care. So, those people would be great candidates for running a bridge on the same server they use for the master node (of course reducing their individual anonymity, but they don't care about that anyway). Also, different jurisdictions have different risk factors. When the US declare masternode owners as conspiracists in money laundering and India declare masternodes as nuetral common carriers, well I imagine US owners will want to be anonymous and indian ones won't care as much.
3) I believe masternodes are compensated now with some "uptime" measure which I assume is just pinging their IP address essentially. Naturally, that won't work for anonymity, so the alternative would be pinging their tor hidden service url or whatever
In my view, there is a problem with anonymization and that is latency, reliability, resource constraints of anonymous networks like Tor (and I assume I2P). That is the only real roadblock that I can see. As far as broadcasting transactions it should be more than sufficient. But, if Dash plans to implement global storage among nodes, then it really depends how much will be written / read from this storage. Will it be 100kb/sec, 1mb/sec, 10 mb/sec, or 100mb/sec. My guess is that an anonymouse network could handle the use case of <= 5mb/sec, but would probably not work reliably for 100mb/sec. That is a lot of data though. I am not sure I could see Dash needing to utilizing that much bandwidth per node.