We have a domain abc.com from which a particular page will display the contents from the domain def.com which does not belong to us. Now rather than display def.com in the address bar in the browser, we would like to continue using abc.com. We would like to achieve it without using iframes or screen scraping. Is there a way to achieve what we are after using DNS forwarding or aliasing? If so how? We have a choice of using Microsoft's DNS server or BIND.
Have you looked at the proxy capabilities of your web server? You may be able to proxy, and optionally cache the page.
DNS would only work if you can dedicate a domain to this page. As you don't control the domain a CNAME record would be the preferred choice. The site you are hiding may not be configured in a way that will support you using your own domain to access the page.
If you use DNS you are likely to run into problems. Any links on the page which specify the remote site will transfer your user to their site. Likewise any relative links on the page are likely to break, and won't lead back to your site. This can be mitigated if the site is hosting the page for you and are willing to set up a virtual server, and set the base for the page to your site.
EDIT: If your are running apache2 the following configuration would serve