The individual dumps will be performed within transactions, and the global lock at the beginning will ensure that all transactions started at the same point. Using locks like this does not prevent reads, just writes, so you don't have a major interruption of service.
Of course, this is assuming that you're using InnoDB as your storage engine; otherwise you need to maintain the global lock throughout the dump of the non-InnoDB tables.
Also, since mysqldump insert lines all contain the database name, it's fairly trivial to do this splitting with standard 'nix tools as well.
Either way, my Macintosh still has BSD split(1) so here's a command example.
split -p 'Table structure for table `' my_dump-20130913.sql