こんにちは。
apiと言っても基本的にはエンドポイントにリクエストを送るだけなのでトリガーを引くサーバーが複数であっても何ら問題は有りませんし、可能です。
また、それ自体に成約と言うのはありませんが、MessagingApiのpushメッセージは無料で送れるのは1000件までですのでそれを超える分には料金が発生します。
ただし、MessagingApiのリクエストは当然プロバイダー毎に設定された秘密鍵とアクセストークンが必要なので、個々のシステムから直接APIへリクエストを送るのではなく、秘密鍵とアクセストークンを引き出せる中央システムを一つ用意し、個々のシステムはそのサーバーを介してAPIへリクエスト(この場合はpushメッセージ送信)するのがスマートな気がします。
気になるのは「外部システム側でLINEのユーザ情報を保持」と言う点ですが Pushメッセージの送信にはプロバイダー毎にユニークに定められた個々のUserIDが必要ですので どの様にそれを収集し (基本的にUidはwebhookのエンドポイントで、ユーザーのメッセージ送信等のリクエストをトリガーに収集します。) どの様に外部システムと連携するのかがポイントになる気が致します。
送信先のID。Webhookイベントオブジェクトで返される、userId、groupId、またはroomIdの値を使用します。LINEに表示されるLINE IDは使用しないでください。
https://developers.line.biz/ja/reference/messaging-api/#send-push-message