If a=b then it follows that b=a.
I very seldom say this... but in all honesty I feel this could be a case of over thinking.
If you have a general rule in which you want the border to be same color as the text you simply don't declare the border color. What you have suggested actually adds more work to the current process.
border: 1px solid;
Yeah, but I want a variation...
IF you want the border NOT TO MATCH then you could do
border-color: #abc; /* color will still be #333*/
IF you want TO MATCH then all you have to do is change the COLOR
color: #abc;/* border-color will also be #abc*/
I understand the appeal, from "human thinking" a point of view , but it really does encourage a lack of discipline as it creates two distinct ways to arrive at the exact same solution ( and the current way doesn't even have to worry about possible recursiveness)
CSS variables in general, however, would be cool. Then you could link values between unrelated properties, build easily updatable color pallets, etc.