Is there a way to program a record call BLF button through the 3cx management console for Yealinks, without having to do it manually via the phone web interface?
I'm afraid this is not possible. Call recordings are extension based, meaning that if you enable the "Record All Calls" parameter (from the extension's settings > Options Tab), all calls that are associated with that extension (internal/external), and are handled from the PBX, will be recorded.
Using the 3CX client will give you the option to disable/pause the recording during a call.