I think I will ignore transport completely, maybe make something extremely simple like Unduli said. Transporting stuff is simply not what's the core fun of that game.
The main difference between provinces could be the natural resources.
Factories is one thing, you can build these anywhere (as long as there is enough labour available) but each province will have a different set of ores (coal, iron, tin, copper), forests (wood), pits (clay). Also farming, but that's a separate can of worms.
I think resource deposits should have 2 parameters: richness (how much stuff one mine can dig here; forest should not have this variable?) and size of ore deposits (how many mines you can build in that province). You would have a (limited) option to send prospectors which can discover more deposits (+X to max number of mines), and some technological advances (deep mining tech) would allow more mines. Forests can not be enlarged, so only trade is an option here in a long run.
Next land, that one is more complicated. I want a separation of agriculture, it's special. Every province has ALL unused land assigned as wheat farms from the start. You can increase efficiency of farming by technology, but over time the farming are should be reduced by cities and factories. So, you don't build "farms", by default everything minus number of factories & mines & houses is a farm.
Now the problem, what about sheep? There need to be wool, absolutely. So, there must be some option to assign some part of the land for sheep instead of wheat. How to do it? In addition, in reality (not that it needs to be done realisticly, it's just an example) sheep were shephered in areas where farming was not possible (mountains, hills). Not sure how to appoach this...
Labour
Right now it's quite simple, each building/factory requires X workers, based on shortage/abundance of labour the wages are set (the premise is they work overhours if needed and that the factory always run at identical efficiency), when the shortage exceeds x3 the option to build more factories is disabled (they can't work harder, at that point you have to bring more workers).
The population migrate between provinced based on wages in the province.
So far so good (OK, maybe the identical efficiency of factories regardless of workforce is a bit lame), but I have a problem with farmers. Farms are fixed, they require X farmers, everyone above is automaticly converted to labourers. Farmers are NOT effected by wages and you never pay them anything, they are FREE (it's to simulate the traditional agriar society, they are easy to please, require nothing and so on, and you want to make them convert to labourers). But it does not work so well with the wages system of labourers...
How to solve/approach those?