Great to see you here
The IFC support we currently have is based on a module made by Marijn van Aerle that "translates" the rather complex strings stored in IFC files into a nice python structure, easy to query and manipulate. For that, it uses a schema file which allows to map contents to a structure of objects with their properties and attributes.
Then, in FreeCAD, we just create the appropriate objects from that python structures. So actually reading the IFC files was never a problem for us, the limitation is actually to have in FreeCAD parametric objects able to support the IFC data and attributes, since it would make little sense to create "dumb" geometry from it. As I go implementing those objects, I add support for them in the IFC importer.
Exporting IFC data if of course something we need too. I see it as the same process, in reverse order. We would need a module that does the contrary, writes IFC data from python structure. I hadn't looked at it yet, but suppose it would be similar to the importer.
About the bimserver, of course, I'd pretty much like to integrate it too. It wouldn't be too hard I believe, but we need realiable IFC in/out before that (and therefore realiable FreeCAD Arch objects). And there is also the fact to consider that there is an alternative that already supports freecad files natively: http://www.openplm.org/
So there is still quite some work to do, but nothing hard or impossible I would say. In any case, it is certainly on the todo list!
Cheers, and happy new year!