In addition to scaling the textures up in an image editor with pixel interpolation disabled, (as mentioned by Gunslinger)
Another method is to disable pixel interpolation right in Blender and save memory, and as already mentioned by Krivar, keeping the texture sharp even when close up:
Update
As of this commit, (will be in blender 2.71) texture nodes now have an option to change the interpolation method:
Using Closest will keep the pixels sharp.
Original answer:
You could use this technique, which uses a node setup to scale the UV map:
To add Nodes, press ShiftA > Add node in the Node Editor.
To create a Node Group, select the nodes you want and press CtrlG to make them into a group, creating the Group input and Group output nodes. Press Tab to toggle editing the group.
To use the above group, connect the UV output of the Texture Coordinates node to the UV input of the NodeGroup, and connect the output to the UV coordinates used to map your texture.
(The Vector input on the texture node):
Set the X and Y values to the X and Y dimensions of your texture.
Disable Interpolation and set filter to Box in Material texture settings > Image Sampling:
You can disable interpolation in the Viewport by disabling Mipmaps in CtrlAltU→ User Preferences → System: