You can lock any property with an expression. Just create an array for properties with more than one value or just enter the value you want to hold.
If an animated 3D layer's position started at 0, 250, 500 and you wanted to hold that position the expression you would add to the position property would look like this:
[0, 250, 500]
If you wanted to hold rotation to 5º the expression would look like this:
If color was animated in a shape layer's fill property and you wanted to make it 50% gray the expression would look like this:
[.5, .5, .5, 1]
If you had an animated gradient fill on a shape layer you can't use an expression to control the colors, but if the gradient was created with the Gradient Fill effect you could freeze both colors and the start and ending point.
If there were a bunch of keyframes on a bunch of properties you could just duplicate the layer and delete the keyframes. If you wanted to stop the effects that are applied to a layer you can use the same technique for the effect if it is animated, duplicate the effect in the Effects Control Panel, delete the keyframes in the copy and turn off the animated effect in the control panel. I turn effects on and off all the time in the Effects Control Panel and in the timeline.