I tried my luck and it actually got my iBooks working again.

When you add a PDF, it starts a process in background called "com.apple.BKAgentService". I think that this process scans your PDF, gathers some data interesting to iBooks and puts it into a local database. It is wrong for this process to run in the background because it uses lots of resources and really affects other applications (i.e. its hard to type here because my mac lags behind me typing), and iBooks do not show any signs of background activity. Because you do not get an immediate confirmation that some actions are taking place, you try to import those files again.. and again. And after some time you decide to kill iBooks app, because it became unresponsive. And this is how you break local database files 🙂
I got it working for me. I am not responsible if these actions break something for you, do it at your own risk. After deleting those files my library was still intact, it only had to be rebuilt (i.e. cover images showed up only after a few seconds when iBooks finally started).
What I did to fix this is deleting of these broken files:
1) kill/close iBooks app, if it's still open and broken
2) delete these folders:

To be specific, these folders are:
/Users/YOUR_USERNAME/Library/Containers/com.apple.iBooksX/Data/Library/Caches/co m.apple.ibooks
/Users/YOUR_USERNAME/Library/Containers/com.apple.iBooksX/Data/Library/Caches/co m.apple.iBooksX
3) start iBooks