If you go with IntelliCenter the number of feature circuits are irrelevant. This is simply because there are 32 of them in any IntelliCenter system. If you use all of them, then you and only you, will be able to operate your pool. Effectively it will be like ordering something at the Cheesecake Factory or picking out which color of blue you like best. If you have done either one of those things you know what I mean.
What you need to be looking at is how many switching relays you require. A switching relay is required for equipment that is turned on or off with a switch. So everything that is turned on or off with a communication wire like VS pumps do not require a relay. This also includes heaters although the electric heater and gas heater connections on the IntelliCenter board are not really communication ports. They are dry contacts because the relay that turns on an off the heater already exists inside the heater. These relays are what folks refer to a s AUX circuits.
The only reason why you care about this is because IntelliCenter system bundles ship with a single daughter card (plugs into another main card) that limits how many of these switches can be controlled. If you buy the wrong one you will be selling that card and looking to buy a different one since only one of these daughter cards can be installed per IntelliCenter system (load/power center).
Now with that said you mentioned that you want future spa control. You will find that there are three designations for IntelliCenter (actually this is true for all the automation systems from all the vendors) this determines how many bodies of water it is designed to control. So to break it down in IntelliCenter terms anything ending in P is a single body of water such as a pool or spa. If it ends in S it is a single shared body of water such as a pool with attached spa, meaning you can operate either the pool or the spa. An if it ends with a D then it is a dual body system, meaning it can control a pool and a spa separately.
So when looking at the different options here is how it works. Every IntelliCenter system starts with an i5P board installed as the base system.
i5P = the base system which has 5 aux circuits (relays) and can only control one body of water and two valves.
i8P = the base system with daughter card that adds 3 aux circuits and can control one body of water and two valves.
i10P = the base system with daughter card that adds 5 circuits and can control one body of water and two valves.
If you tack an S (shared) to the end of the i[x]P it adds an intake and return valve control which makes it able to control two shared bodies of water. If you tack a D to the end then it adds no valves but allows you to control two separate bodies of water. The D model only comes in the i10D because all the daughter cards for the S are the same card with different circuitry and all the daughter cards for the P same card with different circuitry.
i5PS = adds an intake and return valve and spa side remote connection.
i8PS = adds an intake and return valve, spa side remote connection, and 3 aux circuits for a total of 8 aux circuits.
i10PS = adds an intake and return valve, spa side remote connection, and 5 aux circuits for a total of 10 aux circuits.
i10D = adds additional filter relay, one electric heater connection, one gas heater connection, and 5 aux circuits for a total of 10 aux circuits.
You mentioned that you want to later control a spa. If you are planning to have a spa delivered on a flatbed truck, none of these systems will be able to control it. But if you are planning on digging another hole and constructing a spa then the i10D will allow you to control that spa. If you plan on attaching a spa to your existing pool then any of the i[x]PS units can control that.
I am a fan of the Pentair IntelliCenter systems. I have messed around with controllers from a variety of manufacturers and it amazes me what customers will put up with. Most of them from all vendors are based on aging platforms that frankly need rearchitected. While the Touch (Easy/Intelli) systems are still being sold (surprising actually) their days are numbered and what they are capable of given the architecture is pretty much at its limit. While it might be easy to think that the drivers for updating the equipment are features like web and mobile access, all of that can be done with lipstick which all of the vendors have been doing. What cannot be done without an architecture change is fully support some of the newer equipment. Sooner or later you run out of cycles, bytes, and the tribal platform knowledge to make that change. From what I see of the latest offering from Jandy and to a lesser extent from Hayward they are simply continuations of their old and tired platforms that are not very agile or expandable. Bear in mind duct tape works for a while on a broken window but you still can't really see out of it.
Finally, a word about chem controllers. There are really two types of chemistry dosing. There are those that detect demand and dose chemicals based on that demand and those that dose based on a schedule. You can ease your chemical fiddling with either one but the latter requires that you keep a close eye on it especially when the water temperature changes.
In the demand based category you have IntelliChem, RolaChem, IPS, and knockoffs from Hayward and Jandy. And in the sans sensors (senseless) category you have IntelliPh or Stenner pumps on a timer. You can do the job with either one but you will learn so much more about how your pool operates with the sensors. Keep in mind where chemistry controllers really shine is in managing pH but they are not great at sanitation. The reason for this is because chemical additions for sanitation have long latencies and ORP is a short latency measurement. Sensors for FC while expensive require conditions that make them not a good choice quite yet for pools. Controlling your pH with a chem controller and installing an SWG is about the best you can do right now and the results are really pretty good.
Frankly, there are a lot of folks on here that test and dose daily. To each their own, but that is not for me. I am either too busy or too lazy or both. I could claim that I maybe test my water once a month in the summer and almost never in the winter but I wouldn't really be telling you the truth. The truth is that my system is tested every half a second for pH and ORP. And it keeps the pH at 7.65 +/-.05 in the winter and 7.5 in the summer after the water gets to 80F. I add muriatic acid to a tank every couple of months and glance at the ORP history to see what the sanitation looks like.
I keep ORP above 550mV when the water is cold and ~700mV when the water is warming up. I do all this with an IntelliChlor IC40 and a REM Chem chemistry controller. The ORP takes a few days to change its averages when the IntelliChlor is ramped up but I have a pretty good idea as to what is going on in the pool. I need to sit down and share my findings on how chlorine affects the pH and ORP. While the conventional wisdom regarding the reactions are eventually true there is a fascinating transition that takes place while the compounds go through multiple reactions in 6.2 million test tubes.
After this loooong dissertation there is another option just in case I haven't confused you enough. If you have a bit of DIY in you that uses components that you can buy off the shelf. Here are a couple of wikis that you can peruse to learn more about them. And just to confuse you more the chem controller dovetails nicely into the IntelliCenter, EasyTouch, or IntelliTouch system.
An application to control pool equipment from various manufacturers. - tagyoureit/nodejs-poolController
github.com
An application to control pool equipment from various manufacturers. - tagyoureit/nodejs-poolController
github.com