Where the P2SH script gets written? I understand that when I'm doing a transaction, I'm locking those bitcoins to whoever provide the solution to a script that has the hash I posted. 

But, where does the hash get written? 

I would assume that it is not in the blockchain, since this payment system is done so we can save space. I can imagine that the nodes store a database of hashes of scripts previously written on the blockchain, so when they see a script hash, they can find the correct script for it. Another option was that the recipient would provide the script at the time of the transaction, but then the other nodes would not be able to verify the script's end result, because the script would not be on the blockchain.
The script is maintained by the intended recipient; he is the one responsible to keep it and not to lose it. The nodes do not store any database of the scripts.

The script is provided by the spender upon spending the p2sh as part of the scriptSig data. For the exact specification of how this data is structured, see BIP 16 by Gavin Andresen. This allows the other nodes to validate that the script was redeemed correctly.

The purpose of p2sh is not to limit the data on the blockchain – that remains the same. It is, as per the BIP, to "move the responsibility for supplying the conditions to redeem a transaction from the sender of the funds to the redeemer".