When you're dealing with limited space but still want to grow fruit trees there is a method often used in Europe called Espaliering. The basic premise is to train a young fruit trees branches to follow whatever shape or design you are looking to achieve. When a fruit tree is young its branches are pliable and able to be bent and tied to a trellis. After you train the branches to the basic shape you simply keep tying down the new branch growth all season.
In my garden I have a row of apples and pears against a fence. I ran four wires of trellis and tied them to locust posts at each end. Every few feet I added garden stakes for extra support when the trellis will be weighed down with fruiting branches. So far I am very pleased with how easy it is to train the branches to follow the trellis. All you are concerned with is looking for new branches that will bud out near the trellis wire. Once you have identified which branches are going to go on which wire you simply tie them down to the wire. Every week as new growth appears you tie them back down to the wire and prune any other branches that are not part of your design. It's somewhat addicting as you pop in the garden just to check if there is any new branch growth.
You can see in the first photo I was able to establish the three bottom tiers for my Fuji apple tree. In the second photo the pear tree has only put out branches that I could train on the very first wire. Not to worry, as the tree will put out more branches either this season or the next. These are all two year old trees and if everything goes well I might replace all my standard growing fruit trees with this growing method.