Почему событие jQuery .load срабатывает несколько раз подряд?
Все очень просто, вы каждый раз нажимая на кнопку submit вызываете функцию send, которая в свою очередь каждый вызов вешает $('#frame').load.
Это значит что при каждом клике на кнопку в создаете дополнительный обработчик load.
Как вариант уничтожайте предыдущий обработчик перед тем как новый создать.
Большая фишка втом, что браузер кеширует ответ с урла, запросов лишних не делает просто так. Столкнулся, когда делал альтернативный плеер ютуба с подгрузкой его по клику. 
Пришлось создавать объект  по щелчку cо всеми параметрами. Тогда браузер отправлял запрос.
1)Но вопрос в другом. Че вы там забираете и зачем вам iframe? 
Если документ с чужого домена то политика запрета en.wikipedia.org/wiki/Same_origin_policy 
Можно извращаться с jsonp, благо с 1.6 Jquery сделали удобно, хотя все ущербно. Надежнее как всегда проксировать запрос. но это чуть дольше - сами понимаете.
2)Если документ с вашего сервиса, то нафига iframe?