How to display chosen field or calculated value in a selection widget?

… instead of id ? (simple many2one field)

a calculated value can be ‘<my code in 3 chars> : <my designation in 20 chars>’

I guess you mean you want to use a Function field based on a Selection field.
In this case, the getter method must return the first part of the selection tuple. And you must ensure that the value is defined in the Selection.selection.