You can have Azure SQL databases replicating between them while have them on different regions and even on different subcriptions using SQL Data Sync. You can read and write data between the databases involved on the Data Sync configuration. Using that free tool (SQL Data Sync) you can have bi-directional replications between Azure SQL databases with a frequency of seconds, minutes, hours, and days.
At the application level, when your applications needs to run a query, it needs to connect to the appropriate location. You can use sharding and the elastic database client tools/library to determine to what database/region you have to connect.
Hope this helps.