Hey there! Go to settings > shipping > shipping zones section > edit the desired zone you want free pickup on, for me it's United States > go to price based rates > add a rate called "Pickup in store" > enter in minimum price to trigger your rate, if any > check the free shipping rate box.
To display "pickup in store" to in state customers only, you can create a new shipping zone called local pickup for example, then choose United States from the list. For this to work, you'll need to exclude the state from the other United States shipping zone, or it will not let you select it. Once you do that, shopify will automatically select the state that's available for shipping. Then proceed through the steps above to finish setting up your shipping. I included some snap shots from my development store.
For domestic, you'll see 61/62 states for shipping, one is excluded. That's the state assigned to the other shipping zone called "Local Pickup"Settings should look like this for your local pickup shipping zone.