Hi Prabhabar,
What i have done in past is
1.create a custom setting , have all the columns for a particular object you are checking against and a column for queue.
2. For each each rule create a record in custom setting with values filled in and the queue or owner to be assigned.
3. In the trigger before insert or update , check the fields from each record in
trigger.new if it matches to any of the records in custom setting ,
4 if it matches , stamp the ownerid or the queueiD on the ownerid field for that object.