Does keeping a public key private or using multiple encryption help?
Keeping the public key private:


Does not help in protecting data.
Does not work: depending on the algorithm, the public key could be recomputed from the exchanged messages.
Does not work: something which has been communicated to more than two people cannot be considered secret anymore. Especially since public keys are commonly written everywhere without any particular protection.
Does not work: people who would bother trying to crack your friend's private key would be people interested in your friend's secret, so chances are that they already have the public key (the attacker is one of your friend's friends, or already has hijacked the computer of one of your friend's friends).


As for cascading ciphers, it just makes processing slower, and more complex, both activities being ultimately detrimental to security (way more than the off-chance that one of the algorithms is actually weak, which does not happen often as long as none of them is a homemade cryptosystems -- these, of course, are almost always laughably vulnerable).

And "military security" is not stronger than normal security; it is just usually much more expensive.