i don't see any problem with respect to performance having multiple selects. Lets take ur eg. if two tables are inner joined and third is outer joined then, even at the database level, it has to read all the records of the outer joined table and compare it with the inner joined query. RN does the same and even helps in improving performance. By having multiple selects it just retrieves the resultant of the inner join and outer join and then combines it locally, thus reducing the load at the database.
Regarding the where clause, use as much as database supported functions itself. If use the CRN functions it sometimes does that at the cognos sql side.
Srik