A Bitcoin locking script to force a certain payment to the receiver? Is there a way to use Bitcoin script to force payment for the receiver?
I do not mind if it's a non-standard transaction, just curious if Bitcoin script itself allows expression of something like that.
For example, is it possible to write a locking script such that:

Alice sends 1 BTC to Bob
But Bob can ONLY spend if Bob sends 0.5 BTC to Carol in the next transaction
No, that is not possible, and doing so can be problematic.
Such scripts would need the ability to inspect the spending transaction and this is currently not allowed or possible; the script interpreter does not have access to other parts of the transaction.
Furthermore, if implemented naively, this could allow for widespread censorship and centralized control of Bitcoin. In essence, such scripts could be written to require that transactions do not send money to some blacklisted addresses, and at the same time require that all receivers in that transaction also have this same requirement. This could lead to services blacklisting some addresses, and then forcing their users to also blacklist those addresses when they withdraw from the exchange. And the recursive nature of that means that all subsequent transactions also have the same blacklist.