Why not use the same login.html page and put a link on it to your server to buy time. Allow the clients through the hotspot using the walled garden to purchase. I did that for years. Worked for me.
I don’t see why you couldn’t. You could use an external server to pass around the login variables. Here is a “simple” example that shows how to “pass around” the variables you will need to login. http://wiki.mikrotik.com/wiki/HotSpot_external_login_page
I don’t see the reason for the first splash page with no login form. What if the user has already purchased time? What do you expect the user to do at that point? Buy again?