Only specially licensed taxis are allowed to operate across the border. The rules seem baffling at first, but boil down to this: Malaysian taxis are only allowed to go to the designated terminal in Singapore, and Singaporean taxis are only allowed to go to their terminal in JB.
The "basic" direct taxi service from the Singapore Taxi Terminal at Queen Street (in Bugis) to the Johor Bahru Taxi Terminal at Pasar Bakti Kotaraya II costs S$10 per person or S$40 per car departing from Singapore, and RM 15/60 from Johor Bahru. The main advantage of doing this, as opposed to just taking the bus, is that you don't need to lug your stuff (or yourself) through Customs at both ends; you can just sit in the car. This service is also available 24 hours a day, unlike the bus.
If you want to take a taxi from Queen Street to somewhere other than the terminal in Johor Bahru, you have to use a Malaysian (yellow) taxi, and the price will be at least S$45 (depending on distance). Likewise, if you want to take a taxi from Kotaraya II to anywhere in Singapore, you need to use a Singaporean taxi and pay at least RM70 for the service.
Taxis can also be booked to bring you from anywhere in Singapore to Kotaraya, or from anywhere in JB to Queen St. Call +65-62967054 (Singapore) or +60-7-2246986 (Johor Bahru), and be sure to get the taxi's number, driver's name and his phone number.
If you need to get directly from point A in Singapore to point B in JB or vica versa, you have two options. The more expensive option is to take a limousine taxi licensed to take passengers from any point to any destination, but only a few are available and they charge a steep RM150 per trip. However, unlike normal cabs, they can also use the Second Link, which makes them by far the fastest way of getting to western parts of Johor. Advance booking is highly recommended, tel. +60-7-5991622. Alternatively, you can arrange a two-taxi ride through the call centre, where you pay once, cross the Causeway, and swap cabs halfway through.