Am I overusing custom fields (for adding nearly 5 images and their titles)?

With the limited view we can see of how you’re using the custom fields, I don’t think you’re over-using them. However, I would try to clean things up a bit. “Featured Image” and “Featured Title” obviously are related to the same image. So are “Main Left Image” and “Main Left Title.”

Rather than using public custom fields for these, I’d use private custom fields and a custom meta box to hold everything. This will clean things up quite a bit, make the post page seem less cluttered, and give you a clearer link between the related custom fields.

Private Custom Fields

The difference between private and public custom fields is the name. Prefix the name of a custom field with an underscore and it becomes “private.” This means it doesn’t show up in the list of custom fields for a post unless you tell it to, but you can still create it and read it back using the same add_post_meta() and get_post_meta() functions.

Custom Meta Box

All of the editable boxes in WordPress (title, post content, publication data, categories, etc) are meta boxes. You can create your own that identifies the specific custom fields you’re using and sets them as appropriate

If you look around a bit, you’ll find some great tutorials and instructions for how to add custom meta boxes: