Hi,
Separating functionality into a plugin is a fine way of aiding collaboration, if it is possible. I think such separation may also lead to a cleaner design. Using branches in scm is also an option, and it is not always possible or desirable to separate into a plugin. In such cases the work may be divided in several teams, but you should collaborate on an architectural level. Certainly conflicts can occur, but this is not unique to a Hippo project. It really shouldn't necessarily be any more difficult, though the separation into a plugin avoids some possible human errors. It may also add overhead.
In your specific case it sounds like developing as a plugin would work fine.
If you require more detailed support you should contact our sales department or your account manager if you are already a customer. We have excellent solution architects available to help you, which is my objective opinion ;).
mvg,
Jasper