Yes, Definitely. Free will exists, despite the fact that we all have different life-experiences. As for mental capacity, I will let God decide on where that fits in. I trust that God is sufficiently wise and just to decide how culpable a person is who is extremely mentally deficient.
Let me explain. Let us suppose that a person commits a crime such as robbery or murder. Let us suppose that they come before a judge and explain that they came from a bad family. Does that mean that the judge will say, “No problem. I understand. You are free to go.” No!!! The judge would not say that. Do we humans understand that some people are more likely to commit crimes because of their background? Yes, we do. But we do not simply excuse people from all culpability just because they had a tougher childhood. If the child of a terrorist commits terrorist crimes himself, do we simply say, “OK, you are free to go. You are not to blame for your murders.” No, we do not. Do we understand that background influences behavior? Yes. Do we take this into account in sentencing? Sometimes. But do we go so far as to say there is no accountability at all? No, we do not.
I am sure that God is wiser and more merciful than any human judge, and I fully trust God to make the right decisions when it comes to final judgment. But here is the point. Just because a person comes from a tough background does not negate the fact that we are still responsible for the decisions we make. Are there exceptions? What about the highly mentally handicapped? I will trust God on these “exceptions,” but this does not negate that the vast majority of humans are culpable for their choice to rebel and sin against God. I also trust God that he can take into account what our background was. The Bible makes it clear on many occasions that judgement begins with those who know more about God. That is fair. God will hold us accountable to what we were able to know, but in any case, he will hold us accountable.
On your second question, you are asking about situational ethics or situational sin. Is it ever not a sin to lie? I believe that all or nearly all Christians will agree that there are “exceptions” to the rule that lying is a sin. If a murderer breaks into my house and asks if my children are in the house, I will without regret lie to this person. I think we can all agree to that. You say that there are no biblical examples of this. I believe that what Rahab did in Jericho is an example of “lying” not being a sin. She withheld the fact that the spies were at her house. Although the Bible does not say here the actual words, “this was OK because of the greater good,” this is implied in the situation. There are other examples in the Bible where, even if it does not literally say, “this was not a sin because of the situation,” it is strongly implied.
Let me give a much more difficult example. Let us say that a woman is pregnant and that she will surely die if the child is not aborted. Let us also say that the unborn child will almost certainly die anyway because of an extreme genetic abnormality, but taking the life of this unborn child who will almost certainly die anyway can save the life of the mother. This is a horrible situation. Although it is extremely rare, it does happen. I believe that in this case, under the advice of a doctor, a faithful Christian could agree to have the unborn child aborted (in other words, killed) in order to save the life of the mother. Some Christians might disagree about this ethical/moral dilemma, but I believe that this would be the right decision–again, under the advice of a doctor.