既に解決済みな雰囲気ですが、私がいつも使っているのはcoalesce関数です。
今回のケースですと以下のような記述になります。
"A" || coalesce('\n' || "B", '') || coalesce('\n' || "C", '')
coalesce関数は引数に渡した値のNULL値でない最初の引数を返す関数です。
”B"のフィールドがNULLでなければ '\n' || "B" の値をそのまま表示します。
”B"のフィールドがNULLならば、 2番目の引数に渡した長さ0の文字列が表示されます。(つまり何も表示されない)
注)coalesce関数に渡している2番目の引数はダブルクォーテーションではなく、シングルクォーテーション2つです
こんな方法もありますということで、参考にしていただければ幸いです。