The reasons why it's not a good idea to have SQL call WCF include things like:
-- Allowing your DB server to call out at all introduces security risks
-- In order for the DB to use WCF, you will have to enable unsafe libraries, which can introduce security and stability problems into the DB
-- It's architecturally better to have let the DB focus on data-oriented tasks
If it's important to be able to use the speed of the DB machine, then a Windows Service would be a better way to go. You should be able to put all of the WCF access code in the service, and avoid the requirement to enable anything unsafe in SQL Server.
The way a service would work is that you would have a thread that reads from the Service Broker queue, in a transaction. When a message arrives, the service would process the request -- using WCF or whatever -- and then commit the transaction.
I suggest looking into ASP.NET threading in more detail. It is actually a very powerful model. ASP.NET, and .NET in general, are actually extremely well designed in that area.
In case it might help, I have a detailed example in my book (see my signature) of how to use Service Broker from an ASP.NET background thread, to handle messages that are sent from web pages.