30 users is nothing. DB size doesn't matter at all as long it is designed well and uses indexes (I use tables with millions of rows). So do not worry here. Take care you only load what the user needs at that time (e.g. 20 items or so)
1. I could download the database one time "temporarily", once each session and use it for consultations, instead of making multiple queries to the server, there is an example in b4a.
2. There is a view that allows quick searches of a view-list as a word is entered, there is an example in b4a