A rule of thumb and a main point of bridal shower party etiquette is that only wedding guests should be invited to the bridal shower, so they should already be on the wedding guest list. People who are not attending the wedding should not attend the party either. This is a big source of etiquette breach if you do it the wrong way.
Of course, this doesn't mean that all female guests attending the wedding will have to be invited to the bridal shower.
Most commonly invited guests are close female relatives of the bride (and sometimes of the groom), the bride's close friends and very close co-workers.
When some close friends live in other states or far away places, do not invite them to the party, but make sure to invite them to the wedding. The main reason is because first of all, most probably they won't be able to attend your party anyway, due to the distance. Second, a bridal shower party invitation literally binds them to sending you a gift. This means that they'll send you two gifts: one for the party and one for the wedding, while attending only one of the events. It's not really fair for them now, is it?
Who will be invited will also depend on the location and space available. If you do have the place, inviting 20-25 people is a good number to start from.
A final tip here: do not send out the invitations the last minute. Invites to the party should be sent out at least one month to 6 weeks in advance to give time to the guests to prepare and organize their time so that they can make it to the bridal shower.