How about this:
create a loop for portfolio posts wrapping them in a <div class=”port”>
create a loop for news posts wrapping them in a <div class=”news”>
then check for parent page
if the page is news or a child of that then css display: none; on .port
if the page is portfolio or a child of that then css display: none on .news
but how does checking the parent page work exactly? Perhaps I’m misunderstanding that.