1) сабдомены лучше
определяете, куда редиректить, по а) куке языка (когда юзер выставляет ее явно), б) стране IP (когда юзер первый раз) в) языку браузера
б и в можно менять местами
2) второй запрос необязателен, используйте шаблонизатор - ему язык, он дальше собирает контент, запрос будет только один в тот язык, что определен
3) кеш, memcached обычно