But what about my other question?...
Could we use another leading number for the target (assuming the protocol was redesigned to accept it)?
would it be just as difficult if the target started with 8s instead of 0s?
Yes however (potential hash) < (target) it simple, easy (well relatively easy) to explain, and gets the job done. There is no way to do it in a more difficult or complex manner. You could for example look at some other characteristic of the blockhash (like the number of sequential same digits i.e. a hash containing 4444444444 is higher difficulty than one containing 999999999. You gain nothing by doing that (or looking at the number of 8s) over simply comparing two hash values.
The choice to check if a hash is BELOW the target is arbitrary. Satoshi could have just as easily decided to make valid hashes ABOVE the target.
The target is simply a way to split the SHA-256 hash space into valid and invalid hashes. The lower the target the fewer valid hashes there are and thus it will on average require more attempts to find a valid hash.
Forget cryptography for a second lets say you ran a store and wanted to give away 1 prize per day on average. Right now you have roughly 20 customers one method you could use is to have a bucket with 1,000 numbers on it. You could then daily publish the "magic number". Each customer after a sale could draw one number from the bucket. If it is smaller than the "magic number" then they win, otherwise they lose. Now since you want to award on average one prize per day and you have roughly 20 customers per day you could start the magic number at 50. (1/20*1000 = 50). Note the magic number is arbitrary and depends on:
a) how often you want to award a prize (daily)
b) how many attempts will be made per unit of time (20 customers per day)
c) how many potential numbers there are (1,000)
If you used this system somedays you might award 4 or 5 prizes and some days you might award none. You could even go weeks without awarding a prize but in the long run (say over a year) the average number of prizes awarded would be 1 per day.
However what happens if the number of customers changes? If you don't get 20 customers a day then your magic number is incorrect and your won't award prizes at the right frequency. You could however once every two weeks look at all the sales in the last two weeks and divided by 14 to get the average customers per day. You then could change the magic number to be = (numbers in the bucket) / (number of customers in prior two weeks / 14).
That is all Bitcoin is doing. The goal of Bitcoin is that regardless of the amount of hashpower used one block will be found on average every ten minutes. The protocol estimates the amount of haspower every 2016 blocks (by looking at how long it took) and adjusts the difficulty to make is easier or harder to find blocks in the future.