Defining multiple equivalent interactions

This question is mainly tied to simulation efficiency. When using a typed force field like OPLS, there are often atom types where multiple types of bonds/angles/etc. share the same bond/angle/etc. parameters. In these cases, I was wondering if there is an appreciable performance penalty to specifying multiple bond/angle/etc. types with the same parameters.

The main reason I was considering doing this was to make the input decks more self-documenting, where I could use comments to clearly indicate, e.g., that a given bond type was for a specific moiety in the molecule. However, this requires repeating essentially the same bond_coeff command multiple times, just with a different value for the bond type. This also allows for some flexibility in selecting those specific bond/angle/etc. types for post analysis, using things like Ovito.

So would I notice much of a performance hit having these extra interaction types? Do people have suggestions for better was to handle these types of situations?

Have a look at the performance summary of a representative simulation.
https://docs.lammps.org/Run_output.html#screen-and-logfile-output

The time spend on bonded interactions typically is very small and the cost of it is dominated by the computation of the force (and energy) and not looking up the parameters.

If you want to make your input decks more readable and reusable, you should look into using typelabels: 8.2.2. Type labels — LAMMPS documentation

Having the same numerical parameters for different types is quite normal for classical force fields. OPLS/AA is extreme in this case. But you have to keep in mind that the bond or angle type are only individual components, atom types and partial charges matter as well. The scheme with the many (but somewhat redundant) types allows for very flexible parameterization of different moieties.