I'm not confusing value and price. I'm just disagreeing with you that value doesn't need to be dynamic. They BOTH need to be dynamic I think.
Price obviously does, I don't think anybody objects to that.
Value also does, though. Your aluminum example--it has certain properties than can make it useful, but ONLY if you need something with low weight, corrosion resistance, or whatever, or really like those properties. I'll step through your examples:
Corrosion resistance: There is no corrosion in DF, so this is meaningless. In real life, it is good, but even then still dynamically so, because it only matters if the metal already has other useful properties that make you want to make things out of it such that you need to consider corrosion.
Light weight: Useful for almost nothing in DF. In modern earth, we have airplanes, which MAKES this (situationally, dynamically) valuable. Prior to having airplanes and things, this feature didn't matter as much.
Luster: Unless you're making a really shitty mirror, this doesn't really have any utility. It might be aesthetically pleasing to some people, but that is a situational, dynamic thing based on each individual's personal preferences.
Rarity: This by itself only matters for value due to personal preference for owning "cool" rare things. It is similarly dynamic, therefore, based on individual preference (some people don't care if something is just rare in and of itself).
(All of the above things contribute some lesser value to everybody in the form of resale value. But this too is dynamic and situational: how much resale value depends on how many people have the utility or preference. And whether you care about resale value depends on having customers available to you to resell to. Some guy across the world you will never meet doesn't help you)
For metals in DF, what matters therefore is going to be:
1) Effectiveness in each main war category: sharp and blunt weapons, ammo, armor. You COULD get all hardcore about this and calculate actual tensile blah blah. Or you could just say "Rock beats scissors." Either way, value is totally dynamic, because it depends entirely on WHETHER you have neighbots who might fight you, and if you do, what equipment they have. Steel is almost worthless for instance, if iron will already beat your enemies 99 times out of 100. It being twice as sharp or whatever doesn't matter. It's relative, situational, dynamic.
2) Prettiness. The simplistic way of modeling this is just giving a bunch of dwarves preferences for metals. The probably more elegant way (and not necessarily even harder) would be to go ahead and add luster and maybe one or two other things to metals, and then allow dwarves to have preferences for QUALITIES. So some dwarves enjoy lustrous things. Some dwarves maybe enjoy things that can hold an edge, etc. Compact and easy to understand, but still spans many metals at once in a sensical way and realistically accounts for the aesthetics of value.
That's about it. Note that neither one needs to be (or should be) hard coded with any numbers at all. Other than the physical properties (or shortcuts to them like a rock paper scissors table). Which are themselves not value, they're just properties.
After all, some weird dwarf might HATE lustrous things and have a value PENALTY on gold... <-- As an extreme illustration of how properties =/= value.
so you have a huge table...
Sorry, more specifically, I meant:
Table 1: all materials in rows, all materials in columns. Cells are either 1s and 0s or perhaps larger numbers for "how much better." The whole table is just something like "rows as ammunition, columns as armor" etc.
Table 2: Same, but rows as sharp weapons, columns as armor
Table 3: Same, but rows as blunt weapons, columns as armor
Table 4: [if we ever have weapons clashing with one another, then similar and such forth]
For races with exoskeletons and stuff? Just go ahead and include ALL body tissues used in the raws in the armor columns as well. Whatever. This is not important. The whole thing will take up so little RAM that you can basically throw whatever you want in there and not care. And as long as theyre organized in a logical way, it won't take any longer to search (you're just looking up by known index value)