There's no general way to find out what input methods give access to a given set of characters. An input method is written in Emacs Lisp, and it can use any Emacs Lisp primitives to build characters. From a quick look under
lisp/leim/quail, I see that the
TeX input methods include vowels with macrons.
The whole point of Emacs, however, is that it is extensible — so why don't you define your own input method? Say, something like the following:
(quail-define-package "macron-underline" "Macron" "MC")
M-x set-input-method macron-underline, and you're all set.
(Aside. Many, many years ago, under the old, pre-Unicode MULE, I designed and implemented the
polish-slash input method. While the code included in Emacs is no longer my original code, I'm still using it today. End of aside.)