Sim você pode.
A função é por sessão, mas também é válida apenas para a última consulta.
Ou seja, você nunca terá um usuário "poluindo" o last_insert_id de outro, mas não poderá recuperar um insert_id de duas inserções anteriores. Quando você precisar fazer várias inserções seguidas e não precisar dos ids até mais tarde, defina-os como variáveis:
INSERT INTO ...
SET @foo_id = LAST_INSERT_ID();
INSERT INTO ...
SET @bar_id = LAST_INSERT_ID();
INSERT INTO some_join_table VALUES (@foo_id, @bar_id);