Hi,
What you are looking for is a set of individual controls, not a single FileExplorer control. The FileExplorer control is built as a single control so that you can use it to browser server side files, however it is made up of several separate controls. Specifically, it makes extensive use of TreeView, Grid and AJAXUploader. If you want more flexibility than what the FileExplorer provides, you will need to work with those controls directly.
Now to your questions:
1. You can easily implement a download feature with our Grid control. You will want to go over the Grid documentation for more details about how to populate the Grid. Download itself is not a feature. In order to allow user to download, you will need to generate the correct link;
2. You can turn off populate on demand on the TreeView. By default this feature is off;
3. Please read the Grid documentation first. It will be very hard to try to explain those to you if you do not know how our Grid works;
4. You can populate the TreeView anyway you like, including from code, from DB, from XML file, etc. Please see here for more details about data binding:
http://doc.essentialobjects.com/library/1/menucommon/databinding/databinding_overview.aspxHope this helps.
Thanks!