Lo que necesita es una secuencia generada externamente y vincularla a sus 2 tablas
Deberías mirar lo que hizo Flickr, mira este enlace:http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/
Creas la tabla que genera el id:
CREATE TABLE `Tickets64` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`stub` char(1) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `stub` (`stub`)
) ENGINE=MyISAM
y para obtener la nueva identificación que haces así:
REPLACE INTO Tickets64 (stub) VALUES ('a');
SELECT LAST_INSERT_ID();
Twitter también hizo recientemente algo llamado copo de nieve, deberías buscar en su repositorio de github
Pero principalmente mire lo que hizo Flickr, es más simple y se puede manejar fácilmente