Dwarves have preferences for different things, which helps to color them as individuals and make them more interesting, as well as providing players some incentive to build a fortress with some variety, so that each dwarf will have access to their favorite things. But these preferences are generated randomly, which makes little sense. How could a dwarf have a preference for an animal that he has never even heard of? How can a one-day-old infant already know what their absolute favorite food will be for the rest of their life?
In real life, people often develop preferences for different things based on associating them with other experiences. I would suggest the following: Use the preference list as a kind of "associated memory" system.
The way it would work is as follows: A dwarf is born with no preferences. As they experience new sensations - food, drink, the color and material of their clothes and walls, the animals they encounter - these items are added to their preference list.
Each preference has two values associated with it: strength and staleness. Strength can be a positive or negative value, depending on their happiness level at the time they experience the sensation. If a dwarf is happy during a time in their life that they are eating a lot of cave fish, their preference for cave fish will be around that level. Each time they eat a cave fish, for their entire life, the preference strength for cave fish will be 'pulled' toward their current happiness level.
As they grow older, though, this 'pull' weakens, so the experiences they had in their childhood will have a much greater impact on their preferences than those they have later. This way, each dwarf will tend to have unique preferences, even if they live in the same fortress.
"Staleness" works as a multiplier that weakens the impact of the preference on their happiness as they experience it regularly. This works both ways; a dwarf can get used to something they dislike or grow tired of something they enjoy. However, staleness does not directly impact the strength of the preference, after going without the item for a while they will feel the same way about it once they have it again. Dwarves will automatically try to get whatever will bring them the most happiness, so the more variety there is in the fortress, the better off they will be.
Of course, only strong likes and dislikes would show up on the character description. The description could also include a staleness modifier; i.e. "He likes cave fish but is growing tired of it."
In this way, dwarf psychology will be much more interesting and realistic, without having to deal with the complexities of things like giving each dwarf its own neural network or something ridiculous like that. Dwarf child builds many happy memories with his family in a room with a microcline cabinet? Dwarf grows up with a preference for microcline. Dwarf's mother was killed in front of his eyes by goblins who were also being attacked by war dogs? Dwarf develops a fear of goblins AND dogs. This can create effects that mimic more intelligence than dwarves technically have, especially when it comes to things like building artifacts.