SQL Server database Mirroring on different servers
So I want to know can we perform mirroring with different SQL Server instances? Or we can only do it with instances on same server?


Yes of course you can do it. Perhaps it is best idea or a suggested good practice to keep Principal mirror and witness on different servers. Of course Principal and mirror would be different servers.Have a look at article Prerequisites, Restrictions, and Recommendations for Database Mirroring and Things to consider before database setting database mirroring


  Also in mirroring how many instance we can configure as a Mirroring server ? 


Question is little incorrect or not properly formed. For one principal you can have only one mirror server. Its is not like Logshipping where you can have multiple standby servers for one primary server.


  And is it a right way to achieve database availability? Or is there any other/advance way to achieve database availability and security?


To answer this question to absolute correctness one would require to know your environment RPO and RTO. A simple SQL server cluster with mirroring can work good. You can even go storage replication, SRDF various technologies for Hardware redundancy. Database mirroring almost provides a high availability for SQL Server database. If you want OS redundancy as well create SQL Server cluster and then move databases to cluster and then create database mirroring for the desired database. 

PS: In whole question you did not provided what error you got while configuring mirroring. Nonetheless if you read the articles I gave you would be able to configure it correctly