Yes, we're very familiar with BitcoinJ. It's a lightweight client which means it does not store the whole blockchain on the user's computer. We developed a modified version of it for another project (CoinSpark).
You can't yet use BitcoinJ with a MultiChain blockchain because of the change we made to the handshaking process between nodes, where nodes identify themselves and prove their identity. This is required in order to make the blockchain private. However apart from that BitcoinJ should work well with MultiChain. You would just need to modify the retrieval of seeds to start with one or more nodes on the private blockchain, rather than the DNS for bitcoin nodes.
So for now I would recommend using MultiChain rather than BitcoinJ, and calling its API with Java or whatever else you find appropriate.