Ein skalarer Subselect muss in Klammern gesetzt werden:

case when (select Count(*) from ... where outerkey=innerkey) > 0 then v1 else v2 end

Über die Performance darfst du dir da nun keine nennenswerten Gedanken machen.
Ab V6 kann man den Subselect ggf. auch einschränken mit "...where ... fetch first 1 rows only", da ja die Anzahl nicht wirklich interessiert.