As far as I have understood your question, you are telling if there is a potential delay on one of the critical path activity, can you manage the situation by assigning more resources to this activity so that the activity finishes on the planned time and there is no delay to the project?
Yes, you can do that. This technique is called crashing.
Now the second question, from which activity or activities you need to pluck these resources out? From wherever you pluck out these resources, it will affect those activities. You must get these resources from non-critical activities (i.e. activities with float) so that the overall project doesn’t get delayed. It is preferred to use the free float first as that only delays that particular activity. However, usually most of the activities don’t have sufficient free floats. In that case total float can be used.
Please let me know if this clarifies you confusion?
Warm regards,
Khurram