If i have modified existing catalog and added 2 different Categories and added prouducts and sku's under that category.
Instead of running the CMS to whole Catalog, Is ther any way i can only run CMS for newly added Category to map those with the catalog.?
No, CMS is a standalone service and is responsible for maintaining the relationship properties between different catalog elements (sku, product, category).
OOTB it runs after each deployment, The beast you can do is is to avoid CMS from running when unnecessary, you can turn off CMS after publishing and write a deployment listener to trigger CMS when needed (eg. if a sku/product/category is created or removed).
There is a sample code provided in form of a DeploymentEmailer component which shows how to implement a DeploymentEventListener. Using that component you can send email as per the component configuration whenever a CA deployment enters in the states like complete, interrupt or error which you can change as per your requirements. You can find it at <ATG_DIR>/Publishing/samples/Java
For more details about it you may refer to: