Regarding 1, MultiChain is not like a regular database – anyone running a node directly has full access to the blockchain's contents. So this login/signup module is something you would need to build at the application level, to allow access to a specific node.
Regarding 2, you would use straightforwards encryption for this, and only reveal the key to the recipient. For a detailed tutorial on performing multi-way confidential messaging over a blockchain, please see:
https://www.multichain.com/developers/stream-confidentiality/