Madhur:
If the rule is that the charge code for the Project should always be the charge code for your tasks, then the simplest solution is to remove all charge codes at the task level. In that case, the time sheet charge code will default to the Project Charge Code. And, your standard configuration for time sheets should not expose the Charge Code field to users so that they will not be tempted to select a different charge code than the one you intend.
If the scenario is that you have a mixture of activities on a project that require a different charge code than time sheet labor (Expenses, Equipment, etc.), then those activities should be on a different task than your labor, and those tasks can carry the charge code appropriate to that activity. Since Charge Code is an attribute of the Task (and project) and is used to provide further financial description of that activity, elements that require different charge codes should not be mixed on a single task.