I was thinking about it some more and if you have a couple variables left you may be able to use those and make a more in depth/complicated approach which may achieve something similar. Here's where this post gets complicated so hopefully I've explained it decently.
Variables will be set by event as:
V1 = YTD Steel hauled to terr by company (Warrington)
V2 = YTD steel hauled from terr by company (Sheffield)
V2- V1 = V3 [I'll call it V3 here, but in reality it would probably just be reusing V2]
If V3 < "X" Then induce some sort of penalty.
I don't know how much a steel mill puts out of steel versus fertilizer, but hypothetically we'll say the steel mill makes 10 loads of steel.
We'll want to haul those 10 loads of steel out of Sheffield and send them either to Warrington (or potentially some other industry) Either way the steel will leave Sheffield. = V2 the company will remove them from the city/territory. At this point we'll say the player ships all the steel out of Sheffield that he can, all 10 loads.
The company will also want to send steel to Warrington, whether it's from Sheffield, or a steel plant build right outside Warrington. So we'll use V1 to represent how much steel Warrington has received this year.
So right now we have the following equation depending on how much steel the player sends to Warrington:
V2 (10) - V1 (?) = ??
If the player ships all the steel from Sheffield to Warrington: we'll have V2 (10) - V1 (10) = V3 (0)
But if it player ships only some of the steel from Sheffield to Warrington, and uses some other steel elsewhere maybe it'll look something like:
V2 (10) - V1 (5) = V3 (5)
If the player uses a second Steel mill to supplement production from Sheffield it could look something like:
V2 (10) - V1 (20) = V3 (-10)
[If the player is using 2 steel mills though but not supplementing production he could get around this event limitation. Steel from Sheffield may be used for nearby industries, but a steel mill right outside of Warrington could be supplying Warrington, which is a somewhat complicated way of getting around this event/limitation, but it would take careful planning by the player to make sure he doesn't over-haul steel into Warrington.]
And if the player neglects the steel industry in Warrington and just builds a steel mill outside Warrington:
V2 (0) - V1 (10) = V3 (-10)
Then figure out "X" which would be an approximate number that gives the player some "leeway" for any trains that may be in route between Sheffield and Warrington, assuming you'll give them leeway for stopping at cities along the way, unless you'll require them to be direct non-stop trains in which case, little to no "leeway" would need to be granted.
Let's say we'll allow for 1 train full of steel as leeway to have stopped somewhere outside of Sheffield but before Warrington and it might haul 5 loads of steel. So now we need to set "X" Since we'll allow 5 "extra" carloads of steel to Warrington, we'll set "X" as -5.
Then If V3 < -5 (X) ... some penalty is imposed .... since hypothetically you are shipping in steel from outside of Sheffield which is inferior steel.
I think trains for loads hauled from a territory only count once they finally arrive at a station somewhere else. So if you tell the player he must use non-stop trains from Sheffield to Warrington or "risk" being fined for delayed/inferior/damaged steel, you could probably just make the X value, -1 (to give a minimal amount of leeway for any cargo loss in transit.)
Then if V3 < -1 This gives the player much less leeway and makes it much more difficult for them to estimate how much steel they'll be able to take from Sheffield for local use, and how much steel they could import from a steel mill right outside of Warrington. (especially if the ledger doesn't tell them how much they've shipped out of Sheffield and how much has been hauled to Warrington for that year) So if a player still builds a steel mill outside of Warrington and succeeds in preventing this penalty event from being triggered, then he was a daring player who risked a harsh penalty and must love micromanaging specific cargo loads.
Again it's not a perfect solution. And it's a fairly complicated solution, but it could potentially work, especially if there are requirements/points for shipping steel out of Sheffield.