1. InputBox is a function. You pass some arguments in and it passes a result out. That's all you can do without going to lots of trouble. If you want to do something that InputBox doesn't provide an easy way to do then it would be far easier to create a custom form than to mess around with something that most experienced .NET developers recommend you should never use anyway.
2. It depends on what data you want to display and how you want to display it. For a single list of values then the ListBox is the easiest and generally the best option. For multi-column data you can use the ListView or the DataGridView. The ListView is generally more trouble and offers less functionality and flexibility than the DataGridView, unless you plan to display the data in other than Details view or you plan on using the ListView's grouping functionality. With the DataGridView, it's likely to be a single line of code to set up the columns and load the data.