コードビハインドでのリソース取得もちょっと探し回りましたが、こちら。

方法 : プログラムでリソース値を取得する

厳密な型指定が可能というのは強力ですが、それはグローバルリソースだけと。
でも、画面表示以外はグローバルで良いような気がするので、OK。ファイル(クラス)はいくらでも作れるので、分類分けもできるし。
つか、本当にメッセージファイルはこっちにしようよ。

また、現在のカルチャはSystem.Threading.Thread.CurrentThread.CurrentCulture.Nameで取得できましたので、これで条件分岐で処理を変更する等も可能です(文字列比較になってしまうのがちょっとだけ残念ですが仕方ないっすね)。
こちらも参考。
http://msdn.microsoft.com/ja-jp/library/bz9tc508(VS.80).aspx

だいぶいい感じになってきました。

あとはデータの持ち方ですな。