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.