I want to create one page in APEX, where user should be able to enter data and save data in oracle database. But this page i want to call from our company website. So, I need to expose this application which will be running on server on internet.

Is it possible to achieve this functionality In APEX? If yes which version I should use and which port I need to expose on internet?

How to grant HTTP access to the webserver running it is more a networking problem than an Database problem.

You can either push a network "hole" to the apex server, or set up request forwarding on already exposed to the internet company webserver. Which is probably better answered in a networking forum or a forum specialized on the webserver in question.