Should I create an index for non key columns?
Please be more specific: "It will contain a lot of rows". How many? Millions, thousands or billions. "Is it a good idea?" It depends.

If your queries are like the ones you mention, you should create two b-tree indexes, one for each field. Instructions are here: http://www.postgresql.org/docs/9.1/static/sql-createindex.html

You should only create one index for both fields, ONLY IF all your queries are like: 

SELECT * FROM "MATCH" WHERE "OWNER_A_ID" = owner_a_id AND "OWNER_B_ID"=owner_b_id;


This index will also work for queries like: 

SELECT * FROM "MATCH" WHERE "OWNER_A_ID" = owner_a_id;


but NOT for 

SELECT * FROM "MATCH" WHERE "OWNER_B_ID" = owner_b_id;