Sorry for the thread necromancy.
Adding additional sprites, while not trivial and would require ROM expansion, is relatively straightforward. IMO the cleanest way to do it would be to move *all* sprite data to an expanded section and then change all the references in the code to point to the new section. You'd also need to change the references to the number of jobs. In fact, this approach also works well for job data, although there's more buffer room to play around with there.
The actual hard part is finding the bytes in RAM to save any additional job/ability data. There's almost no free space in the RAM area to manage it. Keep in mind that many areas of RAM function as temp storage, especially for battles, and get overwritten. I was working on a couple of workarounds before life got in the way and I lost most of my free time (also why I've been absent).
The saved data for jobs/abilities is really only accessed in one place - loading the menu (ie, changing jobs/abilities). The known abilities are essentially a function of the job/ABP combo; if you have 30 ABP in Black Mage, you know the character knows !Black L1 and L2. Therefore, one idea I toyed with was coding a function in ROM that took the job/ABP data as an input and reconstructed the full list of known abilities in RAM used for temp battle space. That reduces the amount of space needed in RAM for each character by 34*4 = 136 bytes (+4 if you remove the # abilities variable). The downside to this approach is that it would require a non-trivial amount of non-trivial assembly coding.
Another approach I looked at (and favored) was reducing the number of item slots. Item data in the RAM is right next to the job/ability data, so the resulting changes would be cleaner. There are 256 item slots, each of which takes up two bytes (ID, quantity). Halving the number of item slots frees up 256 bytes in RAM, more than enough for storage purposes! The downside to this approach is that you have to change all of the references the item system, which is not an insignificant undertaking.