Do we have a fail over capability for any Splunk forwarders? like if one forwarder goes down the other one will pickup and start reading the files where the other forwarder stopped
Multiple forwarders on the same machine reading and forwarding the same files is a disaster waiting to happen. Each forwarder keeps a database of what files it has seen and how far into them it has forwarded. A "fail over" forwarder running on the same machine would very likely result in lots of duplicate events.
I would try to think of the Splunk forwarder as an agent. You don't run "fail over" antivirus software, or "fail over" ssh daemons. As bosburn suggests, watching inactive forwarders via deployment monitor or a watchdog to restart a forwarder if it does crash makes sense. But don't overcomplicate it.
This functionality is not included in the base Splunk forwarder install. You could use deployment monitor app to watch for forwarders that stop sending data, or write a watchdog script that will keep an eye out on the Splunk process and restart it if it crashes.