Do we need a physical address to rank locally?

Not necessarily. Service area businesses, like many trades, can hide their address and set the areas they cover instead. You do need a genuine business location, though. Virtual offices and made-up addresses breach Google's guidelines and can get a profile suspended.