2. Сначала подумались извраты о ужержании клиента, выставлении в заголовке 1gb данных и т.д... Но есть такие кривые прокси, которые только после полного скачивания отдают контент... Может проще написать враппер? Т.е. по http приходит запрос (скажем авторизации), враппер коннектится к основному серверу (для него это может быть 127.0.0.1), и создает коннект. Враппер получает данные от сервера и НЕ закрывая коннект с главным сервером отдает данные клиенту, закрывая его соединение. Клиент пришел еще раз - передал идентификатор сессии, враппер его узнал, и уже использует установленный коннект. Да, изврат. Может будет проще сам сервер переписать...
3.
http://en.wikipedia.org/wiki/SOCKS
Цепляемся к адресу прокси, говорим ей "Я хочу домой, на 1.2.3.4", а потом работаем как обычно. Сделать окошко для юзера "работа через сокс-прокси". Если юзер в локалке - только так, пусть милостивый админ сервак поднимает =)