I have no idea what you are trying to do with that query, but it's never going to work when you try to return multiple values and use them in a conditional statement - you can't say
(SELECT a, b FROM c) OR (SELECT a, b FROM c)
because it is meaningless.
Sit down and think about your data and what exactly you want to return and under what conditions. Then start thinking about what that means in terms of your DB and SQL.
If you can't work it out, then show us sample DB data, inputs to your SP and the outputs you expect, and explain why you should get those outputs. But at the moment your query is so badly formed that we can't work out what the heck you expect it to do! :D