Custom post type’s extra fields – how to handle?

How do I manage them? I have about 20 columns that I’m populating – I’ve read a few things stating they are created via meta boxes?

The custom fields are more of a storage engine for meta data. It’s up to you how to use them. And yes, meta boxes are common for that when you need nice way to input/edit them on post screen.

What table is that data actually stored in?

*_postmeta

I understand how to create a custom taxonomy, but how do I go about linking my custom post type with that taxonomy?

When you register taxonomy you pass object type(s) that it applies to.

How do I filter a query for this taxonomy to populate the front-facing ajax drop-down selector?

I am not sure what exactly you need here. Elaborate?

Update

how do I structure a query to return custom post types based on terms from a custom taxonomy?

See:

Are there plugins that can make this easier?

Yep, plenty. But if you are proficient enough to deal with that much code directly I recommend to at least try and do it natively first.

There are plenty of awesome frameworks, plugins and other helper code for WordPress, but it is considerably hard to accurately research, evaluate and pick what will perfectly fit your needs in the long run.

Finally, given the scope of my project, are custom post types appropriate for what I’m trying to do?

Seems perfectly appropriate to me.