I think depends, but I like more working with enunmerations (in many of the cases) that working on simple constants. This beacuse enums represent something more detailed than a constant, and you can use enums in many cases and many usages.
I think too that you're not representing a "language null" but a "conventional null" in fact you're setting your ID as enum value of value -1, so this speaks well what you intend to do and what I'm talking about, for that reason, if you'll going to use "language null" it's still a good idea to use a nullable Nullable<int>
or int?
.
In some cases when working for example with ORM's or similar, it's a good practice to define a kind of un-set-value instead of a null value, so could be useful to use an enumeration, as I said before it depends.
At last I think, think better what kind of null you need to represent