Disable Internal Page Cache And Enable Dynamic Page Caching
There are two different topics involved here. 


You can disable the Internal Page Cache if you want to replace it with Varnish (both are reverse proxies for anonymous traffic, delivering content before the request reaches Drupal, and you don't need two of them). 
Memcached on the other hand is a memory based cache backend, that sits behind Drupal caches (you can configure which ones, this can also be the Internal Page Cache if it is still enabled).



  Can we enable and use both varnish and memcache?


Yes, they work independently from each other, one in front and one behind of Drupal.


  Does enabling of varnish or memcache will disable drupal's default
  dynamic page caching?


No, it doesn't make a difference for the Dynamic Page Cache, because it won't see any traffic served by Varnish or the Internal Page Cache and Memcached only makes it faster, but doesn't change how it works.


  And also how to enable and configure varnish or memcache in drupal.


There are modules to configure them. For Varnish to make it invalidate cache tags and for Memcached to set up the cache backend.