Option 2 works. To make sure the changes you make to the layout etc are carried over you need to download the folder for your theme from your “development” wordpress.
So the folder in /wp-content/themes/YOUR-EDITED-THEME
Where YOUR-EDITED-THEME is the name of the theme you are working on.
Take that folder and upload to the main blog.
Option two is the ideal solution as you can show your client the site on your local machine or another address on their domain e.g. yourdomain.com/development
As for option 1.
if you place index.html in the root folder of your wordpress install then it *should* take preference over index.php. This varies depending on server set up and if it doesn’t work you’ll want to talk to your host. They should help you determine the order of preference for index files.
Yes, you can simply delete or rename the index.html file when you’re ready to launch.
Depending on how you’re going to set up your site i.e. blog on the homepage or blog on another page e.g. /blog then you *may* be able to show your client the homepage.
If the homepage is a static page you can develop it at yourdomain.com/home and then for example make it the actual homepage when you go live by editing settings > reading > and selecting home as the static page you want as homepage.
Hope that makes sense.