I need more subdivision levels to apply textures
Having more mesh data allows you to have more detail on the surface of your mesh. The mesh data only defines the shape of the object, you don't need more mesh data to add more texture detail.

While we can apply a different material to each face of a mesh, or a vertex colour to every vertex, these options give limited results. To get more texture detail you UV unwrap your model. The UV data allows you to define how much texture detail is used by each face. Often this is used to map an image to different parts of a model, but UV's can also be used to adjust the scale of a procedural texture on different parts of your model.

By scaling up the UV's of one face you can see that one face can use more of the image than the rest of the model.