I don't know what data you actually need to get, but as AndroidXP pointed out PPJoy works for inputting data from a virtual steering wheel. A few things I've noted while working on my AIRS project using the LFS racing simulation as it is retrieving information from LFS and inputting it back in through PPJoy:
1) PPJoy is likely someone as a casual user would not be able to simply download, install and go. They need a bit of technical knowledge to do this, and the ability to trust unsigned hardware, by clicking "install without certification".
2) I personally had some issues with PPJoy to LFS as a form of input. It took me a few days to get this setup. Within the first day I had input in LFS, but it seemed to me that all axis controls did not center themselves right. For all I know I did something idiotically wrong with the programming interface, though I tried to make it right, in the end I just hacked it so that it moves it offcenter and allows LFS to think it is centered. Enough to the point where the car stayed within 5 inches of the white line down the dragstrip.
3) Getting information from LFS is the easy thing, and I don't know of anything else that supplies the information like LFS (or as much/detailed). If you haven't found it yet Insim.txt in the documents folder would deserve a look over for you. There are three protocols:
3a) InSim Protocol: This is useful for almost everything you would need. When a race starts, what mode LFS is in, are you connected to a server. There is some information available about the car position and orientation. Lap times / split times / qualifying times, etc the list goes on.
3b) OutSim Protocol: Admittedly I haven't been using this like I thought I would need for my AIRS project. Though I may need to in the future, it give more detailed information about the currently spectated / driven car and the motions it goes through. As with my AIRS project though, tabbing to spectate other cars will mess up the 'data output'. Which might not be important to your project.
3c) OutGauge Protocol: This gives you all the information that the driver could get from the gauges and controls of the car; what gear is it in, what location are the pedals / steering wheel actually at? Headlights / indicators on? Fuel level (for player only), speed, rpm etc the list goes on. Again, tabbing to spectate other cars mess this output up, at least for my AIRS project which the AI driver depends on the information!
4) To control LFS, LFS _requires_ focus. Meaning if your application requires focus to get steering wheel input and send it to LFS you will not be able to drive in LFS. Your application will need to run in the background, silently collecting information from the G25 and feeding it back to LFS which is in focus. Otherwise you won't move the car.
5) What about FFB I don't think there is any output of this from LFS, so it might be hard to apply FFB to the wheel. Although, during my AIRS project I believe if the FFB in LFS was still on that my G25 would thrash around even if a PPJoy virtual controller was being used as well. So maybe this is a moot point that will go away.
Finally good luck on the project, although I don't know anything about how you will be manipulating the data. I hope my post is helpful since I've had a bit of experience with things your trying to do, at least it seems.