$\begingroup$

While you can't directly apply multiple materials to a single face, you can use a texture map to control how two different materials appear on a face.

Blender Render:

Make sure your object has a material.

Click the Use Nodes button.

Drag out a new panel.

Change the panel to the Node Editor.

Add a MixRGB node...

...and plug it in like so.

Duplicate the Material node and plug it in to the MixRGB node. Make sure to assign both nodes their own materials.

Customise both materials to your liking. Notice that dragging the MixRGB slider left or right changes which Material node the final material uses. 0 corresponds to the top node, and 1 corresponds to the bottom node.

Create a new texture in the data textures list.

Customise the texture to your liking, or import a UV map for more control.

Add a Texture node from Add --> Inputs --> Texture, and plug in the Value output into the MixRGB node. Notice that the black parts of the texture correspond to the top Material (value 0) and the white parts correspond to the bottom node (value 1).

Voilà! Rendering an image shows that it mixes the materials regardless of the faces!

The same concept can be applied to Cycles; just replace the Material nodes with a shader node tree each.