I think it would be simpler to just say: "You can pick which stat you use for combat and magic", so a fighter could choose int for attacks, a sorcerer could use str for magic, etc, and the players would need to fluff it accordingly.
An average halfling could have a strength score of 6, but without it forcing players to have a -4 to strength; after all, the players aren't meant to play average members of their race. Similarly, the normal strength cap for halflings could be 14, but there could be circumstances in which halflings could get stronger than that - like worshippers of a god of strength, or halflings blessed by such a god, or some other explanation. So a very strong halfling could be as strong as a very strong goliath, but it just won't happen naturally.
There could be two types of limits regarding stats: "soft" limits, which require special circumstances to overcome, but not exceedingly difficult, and "hard" limits, maybe like having more than 20 in a stat, which requires a being to be truly above mortal limits.