Maybe ZigBee firewall on chip is not a good name. As I think more about it I think it is more of an API on chip. Take a look at this spreadsheet:
The spreadsheet shows the conversion of data form left to right for two temperature values sent from an Arduino and received in a SmartThings device type handler. The bit in yellow will be taken care of by the Z-API on Chip (zAOC). The light blue on the left is the string the Arduino will asynchronously transmit to the zAOC. After it transmits the string the Arduino is free to go onto its next task. From this point the zAOC (illustrated in yellow) parses the data into the correct ZigBee cluster and ZigBee attribute that will be used to send to the ZigBee radio for transmission to SmartThings. The zAOC will take care of all that plus creating the checksum for the xBee radio packet and other api overhead required to communicate with the xBee in api mode.
All data that is sent to SmartThings will be sent over standard ZigBee clusters and attributes so it will look like a very well behaved ZigBee device. It will adhere to ZigBee Min and Max reporting intervals (SmartThings requires that for certification). To receive data from SmartThings, data will be received as standard ZigBee read attribute request or commands. This is all very doable as it is exactly what any true ZigBee compliant device does today. I propose instead of doing it in a software library in the Arduino the object lives in firmware inside the zAOC. This way the zAOC can be certified by SmartThings and used in just about any Arduino project that wants to send its data to SmartThings. The Arduino community can be focused on the sensors and the code to read them but let the zAOC take care of all the communications.
Of course reporting temperature is just an example data type it would support, there would be several more. Yes I can see this being an article for Nuts and Volts but at this point it is all theory and my articles always have real live hardware and working examples. To do this I would need to create a custom PCB, test it with an Arduino, create the Arduino API (string commands to send and receive data) and document it all. I do have a good start as I can base a lot of this on my existing work but there is still a great deal of work to do. At this point I think it would be a cool project but I would need to see buy-in from SmartThings and more people in the Arduino community.