I would just input a generic string like Replace([Field_Name], "Out", "In") in the tool within ModelBuilder and then set the expression as a model parameter as well as the input table and field, that way you have the flexibility of changing your inputs when you run the model. If it is the exact same expression (field name and all) every time you could just enter the correct expression into the tool in ModelBuilder and not set it as a model parameter.
The other stuff you're talking about is not something I would not be comfortable answering. I would think that as long as the field names are the same in the expression as they are in the table it should work but that kind of logic doesn't alway pan out with Arc, at least not for me.