Yes, to both. Perhaps the principle of ‘if thry are not against me, they are for me’, meaning, God does not in a way, very particular in whom are serving him. He just needs a willing vessel, not perfect people. Also, Jesus said, he comes for the sick, not the healthy.
So, anyone can pray for us. But your question is a good one because we often think in a human way, “how can he prays for others, if his own house is not in order?” Fortunately, God’s love and mercy, is far more than that. He still love the sinners, perhaps even more attention is paid to them, as he similarly looks for the one lost sheep and left the ninety nine behind.
With all that background, it comes to reason that God listens to the prayer and cry of a sincere heart.
Of course, then there is St. James saying, the prayer of the righteous avails much, which is another topic. It is not to be confused that sinners’ prayers is not efficacious.
God bless.