Right now ethics are assigned to civilizations, which works fine as it is. But i propose we go a little deeper:
Lets give every individual their own list of ethics and redefine relationships between people as a modifier of ethics oriented at whoever fills that relationship (ie. If a psychopathic dwarf considers murder to be acceptable, a husband/wife ethic could make that into being acceptable only in self defense)
On a technical note this would make the in real life complicated relationships between people as simple as arithmetic. And it would give great interplay between people of conflicting ideologies.
Next, laws.
Because laws are, even in real life, nothing more than forcing your own ethics on other people. (consider for instance the abortion- and euthanasia debates)
In Dwarf Fortress laws shouldn't just vary between civilizations, but different cities should have different laws.
New lawhs would be put forward by a noble and be accepted or rejected by having the other nobles take a vote on it. (ie. If the mayor absolutely detests cats, he may propose a law which makes owning a cat a punishable offense)
Having multiple individuals cast a vote on new laws would promote the laws towards a mean of the ethics of the population. Thereby ensuring there will always be people breaking laws, without having to imprison your entire fortress.
For added bonus some of the code could be imported from Liberal Crime Squad. It also features politicians voting on laws based on their liberality/conservativeness
The ethic system is nice as-is, but it has so much more potential