Yes, the Splunk Heavy Forwarders delete the messages from the SQS queue once the messages are read. Of course you have to provide the required permissions to the Splunk user in AWS.
"Can i have two forwarders where identical inputs is created for the same SQS queue, but sending data to different indexes?"
If you have 2 HFs with identical inputs, the traffic will be distributed by them. This essentially makes the processing of the messages and the ingestion faster and is very useful for ingesting from large S3 buckets. However, I am not sure that will solve your purpose.
In order to send all the S3 data to 2 different indexes, you should have 2 SQS queues with the same messages. You can do this by having 2 SQS queues subscribed to the same SNS which get the notification from the S3 bucket.