I think that "morals" in DF should be able to apply to literally any aspect of a creature or species. As in, you have a human civilisation. You make an adventurer from that civilisation, and go and plunder some dwarf fortresses for steel gear. Later, you go on a rampage against your parent civ. As a result, just wearing steel gear should be hateable, because now a famous mass murderer is known for it.
How it should work is that your traits are then dissected by the game engine, to see how much hate those traits receive from the respective civs, and that is diluted exactly by how common that trait is in the civ in question. e.g, the dwarves have a human population of 1%, therefore hatred for being a human as a result of your plundering is decreased by 1%. Human civ has a human population of 99%, therefore hatred for being a human in the human civ is reduced by 99%. This is also limited by:
1. People with a trait cannot hate that trait (I know IRL they can, but lets just leave that out for the sake of simplicity)
2. How much about you people know determines how much about you they can hate.
I'll talk about point 2 a little more. What I mean about this is that, the amount of hate you receive for negative actions should be constant and dependent on the severity of the action, but that hate should then be diced up between ONLY your known traits according to, as described earlier, their commonness in the civ. What this means is that if, say, you were a tall, redheaded human who was rather fat, and had a fondness for wearing headveils, no one would know you were homosexual (FOR EXAMPLE) until you married another creature of the same gender, meaning you would be unhateable for that, just like your religion, provided you weren't "known for your devoutness" and, in addition, when you go on your murderous rampage:
head veils (or whatever other type of clothing you were wearing when you started hacking) would suddenly go out of fashion, depending on how in-fashion they were to begin with.
Unchangeable traits of yours, those being hair colour, height, skin colour, and so on, would be regarded with more suspicion by members of the target civ, depending on their prevalence in the civ's population.
Even your physical attributes, in this case fatness, but possibly having a huge slabs of muscle or similar, should be targettable by the morals engine, which should be completely procedural.
In short, animosity should be possible between groups of sentients within and outside of civilisations based on literally any attribute, and changeable traits, like hairstyle, type of clothes worn, material of clothes worn, weapons/armour used, wealth, profession, should go out of or come into fashion depending on what murderous or benevolent historical character WAS KNOWN TO have had or used those things.
All this stuff should also apply in reverse. Civs should be capable of positive attitudes regarding people with blonde hair, or steel short swords, or vampirism, due to great and inspirational leaders with those traits doing great and inspirational things, with the effect multiplied by the population percentage with those traits.
There should also, of course, be deterioration over time of opinions, back to a neutral point.
Well, that's my two cents.
TL;DR: hate or love of a civ should apply to any trait they know about, up to, including, and going beyond very silly things like colour of socks worn.