I found it in the pokemon fan club in Icirrus City. talk to a man in there, show your pokemon which already >29 level higher since you trained it, and you get Exp Share
You get two. In Castelia City, get through the Battle Company and defeat the Manager, he will give you the exp. share.
You can then go to Pokemon Fan Club, and if a pokemon has max happiness he will give you another exp. share!
Of course,When you are getting it from Castelia City, you don't have to go through both floor levels.You can go directly to the top Floor and battle the manager.It takes about 3-4 battles to get to the Manager and of course,you can skip people.