The fastest I've closed a refinance is 7 days. however, a realistic time frame for a clean loan is two weeks. If the lender is asking you for very strange things, this could be why it's taking so long. There can be a TON of issues that can arise from a loan.
However, a general loan shouldn't take two months at all. They should have offered you some sort of explanation willingly at the 2 week mark. At this point in time they would be fully aware of any odd things that have come up per the approval.
More than likely they screwed up, and have since sent you to another lender, and possibly another after that.
Now based on your saying you have excellent credit, and your debt ratio being fine. something is definitely wrong with the lender you are dealing with. I would get more aggressive with them, even go so far as ask to see the
actual approval. This will list all of the conditions that need to be satisfied for your loan.
One other side note. "pre-approval" means absolutely nothing. At the VERY most, it means someone reviewed your credit and believes that you can get a loan. It is not in the least bit binding, and is barely worth the paper it's printed on.
The only benefit of a pre-approval has to do with comfort levels. It can make a client more comfortable to see this pre-approval, and it's most important when purchasing a house. A pre-approval looks better for the buyer to have, but it still only as good as the experience of the person creating it is.
I would definitely get more aggressive now that you're on the two month mark. Many loan officers are afraid to tell someone they can't do the loan, or simply think they can figure out a way to do it. Something is definitely up though.