You mention that free transactions have to be 'no larger than 1kB and high "priority".' Will we reach a stage where a free transaction is over 1KB? if so what happens to that transaction?
The default transaction fee policy has changed several times in the past, and it is difficult to predict what changes will be made in the future. I think it is likely that free transactions will eventually be phased out altogether, as the block subsidy drops and the network becomes more dependent on fees. In any case, a transaction that pays insufficient fees and does not meet the requirements for free transactions will never be confirmed unless a miner with a different fee policy decides to accept it.
Also, as part of my investigation I have set up some mining rigs to understand the process but I have not seen anywhere that I would set my fee rules?
For solo mining and p2pool, the fee policy is set by your Bitcoin node. The basic parameters (minimum fee, amount of space to allocate for free transactions, etc) can be set in bitcoin.conf or the command line; more radical changes require modifying and recompiling the code. For pooled mining (other than p2pool), the fee policy is set by the pool's Bitcoin node. If you disapprove of your pool's fee policy, your only option is to switch to a different one.