Proximity and/or Mobile Door Unlocking

a) Geo-fence my garage, whilst driving home automatically open the garage door when entering my street 100m away from garage (so door is fully open when car arrives)

How is your garage going to know that you are 100 meters away?

b) Use mobile app (iOS and Android) to open side door and main door manually

With a WiFi shield or Ethernet shield, acting as server, this one is easy.

c) Automatically unlock side door when mobile phone is within 2m of door

How is the Arduino supposed to know that some phone (and that it is the proper phone) is 2 meters or less away?