Could Bitcoin be based on accounts instead, more like banks? In banking, a user's account will have a balance, and when they spend an amount is credited from their balance. For example, the account #310 could have $100, and spending $10 would reduce it to $90.

Bitcoin on the other hand makes you spend all $100 from the account in a transaction, but the transaction could have two outputs ($10 and $90 - you would keep control of the new $90 account).

Why was Bitcoin set up that way instead of the other way? The other way seems more natural. You'd just sign a transaction as coming from your account and going to someone else's account.
It could, yes. Ethereum works on something similar to an account system, at least as far as ethereum balance is concerned. Both models are valid, and have their benefits and drawbacks.

The UTXO model allows for great parallelism and privacy. Each transaction can create UTXOs to new addresses, and different UTXOs can be spent independently and parallely. 

The account model requires some form of ordered execution (achieved via a nonce in ethereum). Moreover, a single transaction cannot combine balance for two different accounts in current implementations, while you can combine UTXOs from as many addresses are you wish in a single transaction.

As to why Bitcoin chose a UTXO model over a balance one, I don't think an authoritative answer exists on that. It's what the creator(s) of Bitcoin started with, and there is no pressing reason to change it.