1) No, it has to be an external hatcher even if that node is running as a hatcher also. Of course you could run an external hatcher somewhere and fire transactions back and forth "ping pong" style, but honest hatchers use Stochastic & Markov models to look for this activity so it's quite trivial to detect it.
Cool, now we're getting closer to the point

If only you would explain more.
2) You cant choose the hatcher, it chooses you. You can request some parameters, such as trust level, min fee, but your broadcast goes system wide.
How is it chosen? Based on public keys, something like "a transaction must be assigned to the hatcher with closest public key"? That can be subverted by a chosen-key hatcher. The algorithm to choose the hatcher is rather critical IMHO, since everyone wants to be the hatcher.
EDIT: Your next transaction is sent to a different hatcher, you can not send a transaction to the same hatcher twice in a row, and the network can see this as the hatcher signs the transaction.
Again, one could create new hatchers on demand.