QST1: You can simulate this by setting language as in qst3 to a LCID which doesn't exist or is not installed. You will then get a message in dialogs saying the language is not installed. In most cases better than showing x spellcheck errors. This is for the automatic spell check that happens on checkin/publish, the spellcheck icon can be hidden by the usual Ribbon removal procedure,
QST2: Yes
QST3: Yes by doing something similar to this:
function changeSpellCheckLanguage(languageSelected) {
if (languageSelected == "Norwegian") {
SP.UI.Spellcheck.SpellChecker.currentLanguage = 1044;
}
}
to change initial default this js can be run after "spell" variable has been loaded.
function setDefaultSpellCheckLanguage(languageSelected) {
if (languageSelected == "Norwegian") {
spellcheck.defaultLanguage = 1044;
}