Easy answer for you, but do you want to hear the truth?
They are certainly frustrating to wait so long, but the reason the banks sit on the offer so long is to wait for another offer to come in during the meantime, as well as the process of the offer going through the chain of command. Some banks are faster than others and some are rediculous to wait for. It is most likely in your favor to be patient for sure and you might just get one heck of a buy as the seller wants out and the bank wants out, but the bank has already taken a hitt on the mortgage price so you will be waiting a while as they are waiting for a better offer to come in. If a full price offer shows up, or even a higher offer than the listed asking price, certainly a faster response time is for certain.
Keep your cool, patience as I have been on both sides of these and they usually work out if you wait and you will get what you deserve. My listing waited 6 weeks to get a response with a huge price reduction and the bank surrendered and took it. If you get the listing agent to contact the bank, they will only get the front runner and need to creep into the back office decision makers and then your cookin! Good luck, but yes, it takes a long time but keep patience in your timeline and the money will be saved on a great deal!
You will not be able to speed up the process as it will never be in your hands, its strictly about money and what the bank is trying to recoup on there losses. Your loan will not expire as you can relock into it at any time and also buy your rate down if you have to wait which if you get the house at a cheaper price, the buy down rate will off set your interest rate!