The place in question where it is defined is line 324 of include/inc_newspellbook.nss
Code is:
int GetSlotCount(int nLevel, int nSpellLevel, int nAbilityScore, int nClass, object oItemPosessor = OBJECT_INVALID)
{
...
int nAbilityMod = nClass == CLASS_TYPE_ARCHIVIST ? GetAbilityModifier(ABILITY_WISDOM, oItemPosessor) : (nAbilityScore - 10) / 2;
}
You would just need to change ABILITY_WISDOM to ABILITY_INTELLIGENCE.
Sadly, because of how includes work in NWN scripting, editing this would require recompiling the whole prc (included .nss files are compiled into the .nsc file that included it and never referenced again). It's pretty easy to do, actually. You just run the make.bat file in the source code. The big hurdle for the not technical is getting the source in the first place.
It would be pretty simple to add Academic Priest as a feat though, just change that to...
int GetSlotCount(int nLevel, int nSpellLevel, int nAbilityScore, int nClass, object oItemPosessor = OBJECT_INVALID)
{
...
int nAbility = GetHasFeat(FEAT_ACADEMIC_PRIEST) ? ABILITY_INTELLIGENCE : ABILITY_WISDOM;
int nAbilityMod = nClass == CLASS_TYPE_ARCHIVIST ? GetAbilityModifier(nAbility, oItemPosessor) : (nAbilityScore - 10) / 2;
}
...and add FEAT_ACADEMIC_PRIEST to the feats.2da file and includes/prc_feat_const.nss