It can definitely be done, but I can't think of any example.
You should be able to target .icon.<a custom class name you enter as icon name> {}
and then use regular CSS to customize the element. If you replace the FontAwesome name with a custom unique name you don't even need to override any FontAwesome code, it'll be just the Flarum CSS for .icon
and your custom class name.