OpenGL触ったことないので適当言うと、

@Pass(PixelShader関数)を変えて対応

A定数バッファにテクスチャを見る/見ないのフラグを持たせて
PixelShader内で分岐

BVS_Inputにテクスチャを見る/見ないのフラグを持たせて
PixelShader内で分岐

Cテクスチャの角1ドットを白ドットにして、
TexCoordに(1,1)を指定して対応
(たぶん322で言ってる「画像に空欄部分を作り〜」の方法と同じ)

DTexture2DArrayでどうにか

って感じ?

俺ならCか、場合によってはADかなぁ・・・
勉強中の身なので、もっといい方法あるかもだが