Here is a simple example:
http://dl.dropbox.com/u/629300/tileset.cap
Note that the texture MUST be power of 2 in order for image offset to work.
Of course you can save those offsets, I'd use hashtable and string tokens, like this:
Hashtable Key: "BigBadMonster"
Hashtable Value: "128,32,64,64"
The value is a string, you can compose it like this 128&","&32&","&64&","&64
So when you read the value at key "BigBadMonster", you use the GetToken expression to get values (it is a string, so there is int() function to convert into number):
Tileset: set Width to int(GetToken(Hashtable.Value("BigBadMonster"), 3, ","))
Tileset: set Height to int(GetToken(Hashtable.Value("BigBadMonster"), 4, ","))
Tileset: set image offset to int(GetToken(Hashtable.Value("BigBadMonster"), 1, ",")), int(GetToken(Hashtable.Value("BigBadMonster"), 2, ","))
This way you get exactly what you want - the texture of 64x64 at 128x32 within TiledBackground.
You can spawn as many tiled background objects as you want ,I guess, doesn't seem to be that big of a performance hit. Or you can use the Canvas paste method. The texture remains the same, so you don't use up extra memory by using multiple instances of Tileset (TiledBackground object).