*Normally* the Call Number would imply a 'location', but if you really have multiple branch locations, you might do better with a more full-featured ILS, like Evergreen/Open ILS.
Adding more columns means changing the low-level database structure. This is non-trivial. It is doable, but you are on your own. OTOH, you could create psudeo 'columns' with keyword value pairs in the Description column.
Adding more 'fields' for the author is also tricky. Nothing is stopping you from joining multiple authors with 'and' though.
It *sounds* like you might do better with something like Evergreen/Open ILS -- Web Librarian is a *simple* system, meant for small libraries with *simple* needs.