On (1) you can't yet express complex conditions on exchanges, although look out for the first alpha release of MultiChain 2.0 with smart filters coming soon.
On (2) you would need to adjust the web demo code for this, but you can certainly attach metadata to transactions, up to 64 MB on chain or 1 GB off-chain (using MultiChain 2.0 alphas). Please look at APIs such as sendwithdata.