From what I understand this is pretty easy to set-up and requires no special plugin, features etc... In order to provide a demo you need to have that demo installed set-up.. You can do that on the same domain using a different folder, sub domain and of course referencing another domain/url... This is exactly how sites like theme forest operate... So lets say it is a plugin you want to provide a demo you could do one of the following:
1) Install wordpress on a sub folder and set up the WP install on that folder to to show the plugin.
2) Install wordpress on a sub domain and set up the site to show the plugin.
3) Install wordpress on a different domain and set up site to show plugin.
Either way you need to setup your demo as there is no fancy software which will do that on the fly...
Once your demo is setup - you then reference it with a link.. Should you not want the viewer to leave your website then use an iframe to embed the demo page... Its really that simple!!
Finally with placing the buy now button on the top corner.. Then all you need to do is just place the buy now button on the top part of your html page and below it you use an iframe for referencing the demo page which like I mentioned can be setup anywhere online....