You can definitely achieve this with arcobjects in any of the .net languages. Your question at this point is very broad. Most of the technical aspects you will find many examples of when performing a internet search such as; how to create ArcGIS add-in button, how to connect to database table, how to populate a data grid based on sql SELECT query, arcobjects how to add a layer to a map document, arcobjects how to set query filter on layer and select a feature(s) based on a certain field/attribute value. I would recommend the following general workflow to create this:
- Create an ArcGIS add-in button (using Visual Studio)
- When button is clicked it opens a windows form with some various drop down controls for selecting per-defined layers (obviously you will need a database connection logic and sql SELECT query to populate the data grid (from a form control value selection) written to a feature set and added to the data grid).
- Next, you will need logic/control events for triggering changes in the data grid and committing those back to the database (UPDATE queries)
- In addition, you may include logic for the grid/record to open a context menu that would relate to a GIS feature add it to the map and perform a selection of the related feature for zooming, or panning to it.