The complete brainmap wouldn't need to stay in cache very often. At any given point in time, a dwarf's level in a single skill can be given as a simple number as today, this would only have to be recalculated as the skill map changed (and this does not have to be every tick! it can be every day, or even every month. It actually makes more sense than an axedwarf "leveling up" like crazy in the middle of a fight.)
To calculate a dwarf's carpentry skill, for instance, you take the carpentry mask (an array of 8192 bits, where maybe 128 are set, with some overlap with the crossbow-making mask and the woodcrafting mask etc.), AND it with the dwarf's brain array, and use popcount-type bit tricks to sum the number of set bits really quickly. Then you store this number, and use it for some amount of time. At the end of the period, you look at all the learning opportunities the dwarf had in the period, do them, recalculate, store new levels.
The memory trait becomes meaningful, as dwarves with it could randomly drop more/fewer bits that weren't touched in the last period - possibly affected by the total number of bits that dwarf has set in his brain map (it's hard to be good at everything). Dwarves with intellectual curiosity could similarly have more/fewer bits randomly set.