Can I add a page without clearing cache? I have written a module by which user can add custom pages. Do I need to clear the cache every time user adds a page? Is there a way to adding pages without clearing cache? If yes what is it? and if no what's the function I should call?

Is hook_menu the only function I should put my code in it?

Does the Views module clear cache after submitting a new page?
It's not clearing the cache you should do, it's menu_rebuild(); if you change router items.