Is it possible to partially spend the balance of multisig address? Let me explain what I mean. Let's say I have a 2-of-3 multisig address with no BTC in it. Then John sends 0.5 BTC to the address and Alice later sends another 0.8 BTC to the address. Is it possible to create a redeem script to spend 1 BTC from the address and later create another one to spend 0.3 BTC?
Yes. Funds can be spent from a multisig address in the same way as from other addresses, except that you need to have the required number of valid signatures. Each UTXO must be spent in its entirety, but you can create a "change" output which is sent back to the same multisig address. So it effectively works like partial spending from a user's perspective.
1 BTC from the address and later create another one to spend 0.3 BTC?
Note: You would have to account for tx fees, so slightly less than that.