a) Custom index - you define what type of content you want to index, the entire configuration is done programatically through using Kentico API
b) Pages - indexes content of pages in the content tree inside the Pages application
c) Pages crawler - indexes the entire HTML output of pages
It is up to you to decide which kind of a Smart search index fits your needs.
Yes, you can configure a Pages crawler index for a public user as well.
As mentioned, a Pages crawler indexes the entire HTML output of a page so results may be different in comparison to a standard Pages index. If you want you can use multiple indexes which would be used for a search on your site. An example of building a search interface can be found in documentation - Building a search interface for local indexes in MVC.