There’s a lot packed into your question… so potentially several answers. First if the A record is being proxied by Cloudflare, it doesn’t matter what IP address is being returned to the user. The IP address will be an address which points to Cloudflare’s edge. What matters in that instance based on what you’ve described is where Cloudflare routes it.
As @sdayman mentioned you can use Cloudflare’s Geo Load Balancing, but as a point of clarification, load balancing occurs based on the region/pop the user connects to. That is not necessarily the same place that the user resides for a variety of reasons.
List of regions: https://support.cloudflare.com/hc/en-us/articles/115000540888-Load-Balancing-Geographic-Regions
Cloudflare Load Balancers can also be configured on a per POP basis for Enterprise customers which allows more granular control, but again a user doesn’t always connect to a POP in country.
Users can also be routed based on their country using workers with the CF-Country header and a resolve override.
What your original question asked about, at least as stated, I think was if Cloudflare supports EDNS-Client-Subnet. The DNS Cloudflare offers does not, however Cloudflare offers the solutions mentioned above and also offers a service called DNS Firewall. In the DNS Firewall offering if your DNS server supports and is configured for EDNS-Client-Subnet Cloudflare can support/protect that server.
But that would only be useful for responses which weren’t being proxied by Cloudflare.