Why does the Node reference module search only for node titles? I have two content types: Type A and Type B. Type A has 3 fields: title, location, and zip code.

I want to get references to Type A in a field for Type B. I have tried using the Node reference and the Entity reference modules, but they allow only to get options in autocomplete when I write the title of a Type A node. I want to get a list of all the Type A nodes with the zip code entered in the field.
You should  use tokens and autonodetitle modules.

After enabling tokens and automatic node title , go to Stucture->content types -> edit (type A) content type. If you scroll below you will see an option Automatic title generation . Click on 'automatic title generation' you will see an Pattern for the title and list of options containing token list 
like curent user, current date, current page, node , random etc.
Click on node and find the token related to node Type A.Like for the field location and field zip there will be token similar to this [node:field-zip],[node:field-location]
add this into pattern for title field. Now you can check the Type B autocomplete entity reference field for type A . you will find that as title is changed the entity reference field has location and zip in the title.