No, you can actually use the fast syncmode and you will still be able to get transactions associated with an address using events. Here's a similar answer.
I have tested working Geth with option cache=4000
on t2.large (with 8GB RAM) and the CPU usage is around 50% until the node synchronizes completely, after which the CPU utilization is fairly low. You should be concerned more about the storage I think.
Answering your third question, it's mainly a software design and need-based issue. If you want to open an API route that's going to make quick requests, or if you're tracking a lot (or say all the addresses), then it'll be a better idea to 'index' the transactions. Etherscan can't do that on the fly requesting the node for tracing the transactions either.
However, if you do not have a huge traffic/throughput requirements, you don't necessarily need to index the transactions. Think about it that you'll have to maintain an almost the same size of database to index the transactions.