The idea is to have an FME function that crawls database connections to extract the schema of the data.
For example, when you create a database connection there would be an option to create a crawler. When chosen we crawl the database (or specified parts of it) at intervals and store the table list and schemas locally. That way, when a user adds a reader and requests a list of tables, the response can be instantaneous and FME doesn't need to fetch that info from the database.
The crawler could be set to run at specified intervals, or on demand. The information it returns would include any schema information such as table names, field names, indexing, etc. The information would be held in a form of catalog that FME readers/writers/transformers can access. Maybe it could even be held in a format (like sqlite?) that users could read from it too?