The check the nodes perform that you're describing, it sounds like it's voluntary? It's just that it's common and ubiquitous on the network, and that's why double spends are typically unlikely to be successful?
Users are free to modify the software as they see fit. Personally, I would never relay double spends and I don't believe the developers would ever release a version of bitcoin-qt that relays double spends. Relaying double spends would also decrease network robustness against DoS attacks as multiple variants of transactions could be broadcast to flood the network. But you could modify
your node to do whatever you want.
What matters is the
emergent behaviour of the network as a whole.
Say I am trying to do two separate transactions that are both for 0.2 BTC, using an output that has 0.5 BTC total. In that case, would nodes view both those transactions as valid? In other words, is it only when the total attempted spend exceeds the amount in the output that one of the transactions would not be accepted by the other nodes?
Bitcoin isn't based on "balances." It is based on destroying and creating outputs. If you have a 0.5 BTC output in Address 1, and you want to send 0.2 BTC to both Address 2 and Address 3, you could do it as a single transaction:
input = 0.5 BTC coin from Address 1
outputs = 0.2 BTC coin assigned to Address 2,
0.2 BTC coin assigned to Address 3, and
0.1 BTC coin (change) assigned back to Address 1.
Or, as you mentioned, you could do this as two transactions:
TX #1:
input = 0.5 BTC coin from Address 1
outputs = 0.2 BTC coin assigned to Address 2,
0.3 BTC coin (change) assigned back to Address 1.
TX #2:
input = 0.3 BTC coin from Address 1
outputs = 0.2 BTC coin assigned to Address 3,
0.1 BTC coin (change) assigned back to Address 1.
Both methods are valid and would be accepted by conforming nodes and miners.