A "kernel module" is simply "part of the kernel," and so is a device-driver. I don't know what you mean by "the 'lowest' KM." Also, don't expect a kernel module to read or write to application files: that's not what it's for.
If you have an application that needs to do things that involve a kernel-module, you probably need to create a daemon (aka "service"), perhaps running with rootly privileges, that acts as a proxy to whatever the kernel-module is supposed to be a part of. Other applications by some means rendezvous with this service process, sending requests to it and receiving results. The service process (or its threads, blah blah) is the one that will be reading and writing those files, operating in user space. It, too, is the one that knows how to talk to the kernel modules, and it's the only process that those modules will listen to.
Now ... before you go much farther with this one ... research this:
"hasn't this been done before, by somebody else out there who did a really good job of it, such that I can cabbage some or all of what they did?" Do not do a thing already done. My little alarm-bells are going off right now, telling me that this is probably your situation.
Another bit of sage advice
is ...
"okay, even though I've got this notion stuck in my head of 'how to do this,' what am I actually trying to do, and how many other ways can I think of to 'do this?'" I can say from personal experience that nothing makes you feel more dumb, or to say :banghead;
"d-oh!!" most loudly ...
... than to show-off something complicated to someone who just smiles at you sweetly and says, "but why didn't you just do
this, instead?" Or: "why didn't you just use
this tool (that you never even bothered to find out existed ...) instead?"