Is there any way we can restrict particular user to browse any page using CMS? for example, if we have an page ABC and want to give access to user A only to see that page.
In that case, manage the Access Rights for that page. Remove read access for "Everyone" and add read access for your User.
Note: It's a better practice to work with access rights for roles/groups than directly on users.For example create a role called "ReadABC", add user A to that role. Manage the access rights for the page ABC and add the role "ReadABC" with read access.
Read more about access rights in the online manual http://webhelp.episerver.com/17-2/cms-admin/access-rights.htm#.
Is it also possible to hide that link from Menu (page ABC) so that it will not show for other users and visible only to user 'A'.
That depends on how you build your menu. I would guess that you have some kind of list of pages (PageDataCollection, PageData, List<PageData>, IEnumerable<PageData> or similar.
Using the built in filter FilterForVisitor should work for you: https://world.episerver.com/documentation/Class-library/?documentId=cms/10/BE2FD317
The method Filter will return an IEnumerable where the content