Правильный синтаксис - использовать .post и изменить тип возвращаемого значения (4-й параметр) на «json» согласно документам для .post :
var postData = { c: "User",
password: password,
alias: alias,
m: "login" };
$.post(RPC_URL, postData, function (data) {
CheckAuthentication(data,alias,password);
}, "json");
Не указывайте, что данные поста соответствуют тому, как вы хотите их отформатировать, но я надеюсь, что вы поняли идею.
Что касается междоменных доменов, я не знаю, есть ли способ обойти это, когда вы переходите через домены. Субдомены в порядке, но домены могут быть заблокированы.
Хотя имейте в виду, что размещение этого поста не поможет вашей безопасности. Любой с firebug может видеть данные поста. Если вы беспокоитесь о безопасности, зашифруйте пароль (хэш) перед его отправкой. Если GET работает для вас, используйте это, не просто переключайтесь на POST, он ничего не покупает (если, конечно, вы не используете SSL для POST, тогда он будет более безопасным).