Arguing with a passive aggressive person is much like banging your head against a wall. Conflict is a natural part of daily life, and to coexist we all disagree on occasion. But what do you do when the person you're trying to coexist with refuses to be up front about their feelings and won't debate the issues that need to be resolved?
Understand how a passive aggressive person interacts with the world before you do battle. They are terrified of conflict and avoid it at all costs. This means that they take out their angers and frustration on you in subtle, passive ways but run when confronted. Their insecurities stem from being afraid that if they speak up they will lose everything.
Pick your battles. A passive aggressive person avoids a fight at all cost. If you love a good debate and aren't afraid of confrontation, be sure that you're not arguing for sport or nit-picking over things that don't really matter. Only argue about issues that truly need to be resolved.
Give them lots of opportunities to express their feelings in daily life. Ask them what their favorite food is, what they want for dinner, how their day really was. All of these little opportunities make them feel more comfortable about expressing how they think and feel and this openness will spill over into other area.
Refuse to fight. This means putting away your own baggage and detaching a little from your emotions. This will keep the passive aggressive person from getting defensive and retreating into their shell. Though you may want to kick and scream, speak calmly and be willing to listen and clarify what the other person says before you respond. Focus on having a conversation, not a battle.
Realize that you cannot change them. The best thing you can do is to lead by example and hope that they follow. Be direct and state your feelings in a non-threatening way. Ask them what they think and then ask them to clarify what they said if you don't understand. If they clam up, show some compassion. Say something like, "I know that talking about stuff like this isn't always easy for you, but I just want to make sure that you know how I feel and I know how you feel so that we can figure out what to do next so that we're both happy."
Avoid a stalemate by being direct. If they clam up, tell them that you don't feel the issue is resolved and that you want to talk about it later. If they start doing passive aggressive things, call them out on it by being direct.
Win the argument by short-circuiting one before it starts. Talk to them about small problems between you before they turn into large ones. Just tell them how you feel and request that they respect your feelings by doing the same. This is a great way to maintain a win-win situation for both of you, and after all the point of arguing is to resolve conflict, not create more of it.