The recommended method to do the IPC between kext and app is using userclient. IOUserClient provides a basis for communication between client applications and I/O Kit objects.
Details about userclient please read this sample:
http://developer.apple.com/library/mac/#samplecode/SimpleUserClient/Introduction/Intro.html#//apple_ref/doc/uid/DTS10000450-Intro-DontLinkElementID_2
and IOUserClient reference..
http://developer.apple.com/library/mac/#documentation/Kernel/Reference/IOUserClient_reference/translated_content/IOUserClient.html#//apple_ref/doc/uid/TP40011880