Question: I've a requirement to deploy the below fields using ChangeSets from Sandbox to Production,

I have one field `CaseMode__c` visible to all profiles except two profiles and another custom field, `OffsetHour__c` that should be hidden for all profiles. These fields are available on Case Object.

Can I deploy these permissions with change sets or do I need to do this manually in production?

Answer: 
Since its a custom field include the fields as well as profiles also in the changeset to configure permissions .I would recommend all profiles along with this field in one changeset for deployment with permission same as the source org .
If you add profile permissions to a change set, they'll carry over the permissions they have in the sandbox for all and only the objects in the change set. So if you're change set has just two fields plus all profiles, and you've set up the permissions already, it'll deploy the way you want.

That said, IMHO, change sets are a royal pain in this department. If I were in your shoes, I'd deploy the two fields as a change set, which by default makes them invisible to all profiles. Then go to `CaseMode__c` and use the set field level security button to make it visible to the desired profiles ...