>The in-line code you listed looks more like a candidate for a function in your business tier. I honestly don't know if you can specify a UDF in the calculated column expression. (I've never tried it) But regardless, I think that code belongs in a function somewhere. Maybe someone else has some ideas.
I have the same problem on expression like MyDateField.Year.ToString. If we can obtain the difference between two fields, there is probably a way to include things like I just shown.
I would like to avoid pre-defining those values as this will request a lot of adjustments in the way the original data is processed.