select where index + other field
The extra predicate wont mess up the indexing. Most likely your index will be evaluated first and any rows that are found will be evaluated against the predicate cityid = 100. 

On the other hand, assuming your index is defined as (usergroupid, birthdate). If you remove usergroupid = 54 from your query, the index won't do any good and you will have to evaluate all rows in the table against:  birthdate BETWEEN '1980-01-01' AND '1983-01-01') AND cityid = 100