MySQL views and table locking (5.1 MyISAM) I have a large (160 million rows, 50GB) table in MySQL 5.1 using MyISAM.

If I were to construct a view defined by a fairly complicated query, would a SELECT on the view lock the underlying table?
Keep in mind that SELECTs and UPDATEs are mutually exclusive for MyISAM. That's is to say...

UPDATEs, DELETEs, and INSERTs require a full table lock. SELECTs are blocked.
SELECTs prevent subsequent UPDATEs, DELETEs, and INSERTs from acquiring a full table lock.

Using either SELECT or UPDATE automatically mitigate MyISAM locking behavior, anyway. So, the answer to your actual question would be yes since we are dealing with MyISAM.
I would recommend you use LOCK TABLES on the view. Why ?
According to the MySQL Documentation

For view locking, LOCK TABLES adds all base tables used in the view to the set of tables to be locked and locks them automatically. If you lock a table explicitly with LOCK TABLES, any tables used in triggers are also locked implicitly, as described in Section 13.3.5.2, “LOCK TABLES and Triggers”.

Based on this, you should explicitly run LOCK TABLES on the view. The locks are performed on all the underlying tables then. That way, all the tables are locked as a group.
SUGGESTIONS

Make the all the underlying tables InnoDB if you want and if you can.
INSERTs to the underlying MyISAM tables can still happen if concurrent_insert is set to 2.