My question is which kind of materialized view should i go for
Primary key or rowid
I've never heard of anything like that. Primary Key is usually just a field, whereas rowid is internal to Oracle. So when you have a Primary Key field in the Materialized view, you still have rowid.
And in all the cases that I have, the only way to refresh a Materialized view is through the procedure call that you put, or through a tool like Toad where you select the view and choose refresh.
Mark