1) Let's say you are running some sort of malicious client that tries to hoodwink the bitcoin system by pushing transactions to other nodes that aren't 'correct' ie spending coins you don't have. To do so, you would need know what a transaction looks like:
A transaction always moves ALL bitcoin on a number of spending (input) bitcoin addresses to other receiving (output) bitcoin addresses. The word ALL is relevant here; you can't leave some bitcoin on an address, you have to send all or nothing. There is only a distinction between input and output in regards to this transaction, the system only knows addresses. The client spreads the coins from the input addresses out over the output addresses as you decree, but can't send more coins than the sum of all input addresses contain. It can send less, the miner will use the difference as fee.
When your malicious client sends the transaction to the rest of the world, each other bitcoin client will check your transaction for validity. It will check whether or not it outputs more coins than you've input, and it checks the balance on each of the addresses. That last check will flag your transaction as malicious, since all other clients in the world know that your 100btc claim is false, and that only 50btc are on that address.
2) Each transaction is atomic, in the sense that it is a complete entity on its own. Your transaction can't be chopped in pieces (because the system would not know how to do that for an arbitrary transaction) and will thus always be in a single block.
This is incorrect. The system only knows inputs and outputs, not addresses. There is no need for you to spend the entire balance associated with an address. You don't spend from an address, you spend Unspent Transaction Outputs which are outputs created by other transactions. These must be spent fully. – Andrew Chow – 2017-10-24T18:04:54.580