Kyle,
Again sorry for the delay in a reply.
In Regards to Member porperties.
Member Properties are added to dimension levels using the Dimension editor. Member properties can represent pretty much anything you want or need them to, but it is advised that you use member properties only when neccessary as they live in memory while analysis services is running. Member properties are most commonly used in the building of Virtual Dimensions and in Calculated Members (Measures).
Creating member properties:
1) Open the appropriate Dimension in the Dimension editor.
2) In the Tree View Expand the level at which you want to
add the Members. You should see a folder Titled "Member
Properties"
3) Drag the Column that serves as the property onto the
Member Properties folder.
4) Give them a meaningful name.
5) Process the dimension.
If the dimension is already processed you can do an Incremenatal process and it will not affect any cubes.
Using member Properties is as complex as the calculation requires.
For example if you have a Product Dimension and you assign a member property for the Manufacturer at the Product level you can display it as a calculated member by simply using [Products].[Product Group].[Product].CurrentMember.Properties("Manufacturer"

.
SO in your case if we add 2 member properties "Max Price" and "Min Price" you could create you measures Max Price Count, Min Price Count and Avg. Price count. by companrin the cell value with the member property.
The exact manner I haven't played with yet but would probably be similiar to
IIF([Measures].[Sale Price] = [Product].CurrentMember.Properties("Min Price"

, Measures.[Cust Count], Null)
Like I said the actual calculation would need some work but this kind of gives the gist of what would be done.
In regards to mode price I am not 100% but my feeling is this too can be done within the cube with a little work.
Do you have George Spoffords MDX Book? If not I highly recommend it.
"Shoot Me! Shoot Me NOW!!!"
- Daffy Duck