MultiChain stores transactions in blocks in the same was as bitcoin – as a concatenated list after the block header, and with a merkle root of the transaction tree inside the block header.
Any MultiChain node that hasn't had its txindex runtime parameter changed from the default of 1 will let you query for transactions directly using the getrawtransaction API.